You need to enable JavaScript to run this app.
导航
快速开始
最近更新时间:2025.04.09 19:45:41首次发布时间:2025.04.08 17:46:50
我的收藏
有用
有用
无用
无用

下文介绍是基于swift语言的快速接入方法,其他语言和框架的接入方式,请参考其他Sample接入方式
EffectOneSDK集成方式是基于Cocoapods的方式,其他方式请参考 EffectOneKit集成方式

第一步:新建工程、复制代码和资源

  1. 打开xcode,新建一个ios app工程,语言选择swift,例如工程名叫TestEO(包名要跟申请EffectOneSDK时的包名保持一致)

  2. 参考EffectOneSDK交付清单获取SDK相关文件

  3. 将EOLocalResources.bundle 和 EffectOne-iOS目录下的 EOExportUI 文件夹、 EOExportUI.podspec、Podfile 及EffectOne-iOS/EffectOneModule.swift复制到新建工程目录下



  1. 打开Podfile文件,修改成如下图这样,需要将EffectOne-iOS替换成你自己的工程名

  1. 命令行进入TestEO工程podfile文件所在的目录,执行pod install --repo-update 并 open TestEO.xcworkspace 打开工程。

第二步:将资源包与核心代码加入工程

  1. SDK依赖的特效道具、模型等文件是可以下发的,此处只涉及内置到app内的方式,其他方式参考 EffectOne iOS 功能详解中资源导入与配置部分

  2. 将EOLocalResources.bundle导入你的工程中,导入时注意选择"Create folder references",并且保证运行时该bundle直接在主bundle下,不要嵌套于其他文件下面

  3. 将EffectOneModule.swift加入工程中

第三步:添加鉴权逻辑

  1. 鉴权逻辑通常放在AppDelegate或者首页的ViewController中,在启动其他功能前调用,请将如下代码放入你工程的ViewController文件中
private lazy var effectOneModule = _creatEffectOneModule()
    private func _creatEffectOneModule() -> EffectOneModule {
        return EffectOneModule(parentVC: self)
    }
   
    override func viewDidLoad() {
        super.viewDidLoad()
        //启动鉴权
        effectOneModule.makeAuth()
    }
  1. 你的鉴权证书通常放置在EOLocalResources.bundle\License\中,文件名如XXX.licbag,打开EffectOneModule.swift 并检查下列代码中字符串"XXX.licbag",如果不是请替换为"XXX.licbag"
let authFileName : String = "XXX.licbag"

第四步:在工程配置Info中配置相机、麦克风及相册访问权限

  1. EffectOneKit依赖了相机、麦克风及相册访问权限,需要在你的工程配置中开启,如下图
//是否允许App访问您的媒体资料库
<key>NSAppleMusicUsageDescription</key> 
<string>media</string>//写出自己说明描述
//是否允许App使用您的相机
<key>NSCameraUsageDescription</key>
<string>Camera</string>//写出自己说明描述
//是否允许App您的麦克风
<key>NSMicrophoneUsageDescription</key>
<string>mic</string>//写出自己说明描述
//是否允许App保存图片到手机
<key>NSPhotoLibraryAddUsageDescription</key>
<string>photo lib</string>//写出自己说明描述
//是否允许App您的相册
<key>NSPhotoLibraryUsageDescription</key>
<string>photo</string>//写出自己说明描述

第五步:启动基础编辑

新建一个Button控件并在点击事件中调用如下代码启动基础编辑组件。

@objc private func buttonTapped() {
        effectOneModule.showRecorderViewController()
    }

第六步:启动草稿页面

新建一个Button控件并在点击事件中调用如下代码启动草稿页面。

@objc private func buttonTapped1() {
        effectOneModule.showDraftViewController()
    }

第七步:启动视频合拍

新建一个Button控件并在点击事件中调用如下代码启动视频合拍功能

@objc private func buttonTapped1() {
        effectOneModule.showDuetViewController()
    }

编译运行中可能遇到的问题

  1. 编译报错


解决方法:build setting搜索ENABLE_USER_SCRIPT_SANDBOXING,YES(默认)改成NO