运行 demo 请使用 包名 的调试证书。在项目中请使用控制台创建的自己的,包名(BundleID),秘钥(Appkey)和资源文件
1、将示例工程源码中 Resources 文件夹内的文件拖入到 Xcode 项目中。
TuSDK 文件夹:
(1)libyuv.framework
(2)TuSDK.framework
(3)TuSDKVideo.framework
(4)TuSDKFace.framework
Localized 文件夹:
(1)VideoDemo.strings 为 Demo 展示项目中使用的语言文件。
(2)TuSDKConstants.strings 为资源名称使用的语言文件。
(3)InfoPlist.strings 为 Demo 使用,集成时请删除。
Thumbnails 文件夹:
Demo 项目中使用到的所有的资源展示的封面图,集成到项目中可以参考封面图进行自定义。
Assets 文件夹:
(1)customStickerCategories.json 为贴纸在线管理功能使用的数据文件。
(2)sample_watermark.png 为「录制」和「编辑」功能中使用的水印图片,可进行自定义更换。
(3)edit_ic_colorbar.jpg 为功能中色彩选取使用到的文件。
(4)video_camera_focus.png, video_camera_focus_finish.png   为聚焦视图的背景图片,可自定义更换图片,图片名字不能更改
AVSamples 文件夹
(1)Mp3 文件为 Demo 中 「MV」 和「配音」中使用到的音频文件,可自定义更换。
(2)Mov 文件为 Demo 中 「功能列表」-「API 示例」中使用到的视频素材,集成后可删除。
TuSDK.bundle 文件:
(1)model 文件,需要保留。
(2)others 文件夹,包含使用到的资源文件的索引,进行资源文件操作是需要进行替换。
(3)stickers 文件夹,包含打包到本地使用的贴纸的资源文件,进行资源文件操作是需要进行替换。
(4)textures 文件夹,包含打包到本地使用的滤镜的资源文件,进行资源文件操作是需要进行替换。
其他文件夹如,brushes 和 ui_default 文件夹为图像 SDK 使用,如无相关功能匹配可删除。
2、勾选 Copy items if needed,点击 Finish,确认文件的 Target-Membership 配置项被勾选。
3、打开项目 app target,查看 Build Settings 中 Linking - Other Linker Flags 选项,确保含有 -ObjC,若没有则添加。用户使用 Cocoapods 进行第三方依赖库管理,需要在 -ObjC 前添加 $(inherited)。目前短视频 SDK 暂不支持 Cocoapods。
4、打开项目 app target,查看 Build Settings 中 Enable Bitcode 选项设置为NO。
5、如使用 Xcode 10及以上版本,请忽略步骤4,5,6。在项目的 app target 中,查看 Build Phases 中的 Linking - Link Binary With Libraries 选项中,手动添加 Photos.framework,并将 Photos.framework 的 Status 设置成 Optional。
6、在项目的 app target 中,查看 Build Phases 中的 Linking - Link Binary With Libraries 选项中,手动添加 Accelerate.framework。
7、在项目的 app target 中,查看 Build Phases 中的 Linking - Link Binary With Libraries 选项中,手动添加 libz.1.2.5.tbd,libstdc++.tbd,libstdc++.6.tbd和libstdc++.6.0.9.tbd;如果使用 TuSDKVideo.framework Version 3.4.4 及以上版本,手动添加 libresolv.tbd。
8、用户在 TUTUCLOUD 网站控制台内查看项目需要的滤镜,并将资源文件进行「打包」操作,然后在「资源打包」处下载。下载的资源文件中包含 others , textures和stickers 需要将这些文件夹替换到 TuSDK.bundle 中对应位置。具体操作可参考文档,新控制台操作手册
9、用户可以在 TuSDKVideoDemo/Resources 文件中找到 TuSDK.bundle 文件。文件中包含 others ,textures,stickers 和 ui_default 这些文件夹。用户需要替换 others/lsq_tusdk_configs.json 文件 textures 和 stickers 整个文件夹。
10、SDK 暂时不支持 Cocoapods,进行更新操作,请重复步骤7。
11、swift 环境下或使用 xcode 10.2 ,请添加 libc++.tbd 的依赖。
1、在需要使用 TuSDK 的类的文件中引入头文件 #import "TuSDKFramework.h",文件可从 TuSDKVideoDemo 中导入。
2、在 AppDelegate.m 的 didFinishLaunchingWithOptions 方法中添加初始化代码,用户如果需求同一应用不同版本发布,可以参考文档如何使用多个 masterkey
3、为便于开发,可打开 TuSDK 的调试日志,在初始化方法的同一位置添加以下代码:[TuSDK setLogLevel:lsqLogLevelDEBUG];发布应用时请关闭日志。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 初始化SDK (请前往 http://tusdk.com 获取您的 APP 开发密钥)
    [TuSDK initSdkWithAppKey:@"828d700d182dd469-04-ewdjn1"];
    // 多 masterkey 方式启动方法
    // @see-https://tutucloud.com/docs/ios-faq/masterkey
    if ([[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.XXXXXXXX.XXXX"]) {
        [TuSDK initSdkWithAppKey:@"714f0a1265b39708-02-xie0p1" devType:@"release"];
    }
    // 开发时请打开调试日志输出
    [TuSDK setLogLevel:lsqLogLevelDEBUG];
}
4、添加位置权限,在 viewDidLoad 协议方法中添加以下代码,并在项目的 Info.plist 文件中加入获取位置信息字段。例如:
- (void)viewDidLoad {
    // 启动GPS
    // 不需要定位功能,可注释该代码,即不再申请定位权限
    [[TuSDKTKLocation shared] requireAuthorWithController:self];
}
5、检查滤镜管理器的初始化,在使用滤镜前的某个界面的 viewDidLoad 协议方法中添加以下代码,即可检查滤镜管理器的初始化是否完成。
- (void)viewDidLoad {
    // 异步方式初始化滤镜管理器 
    // 需要等待滤镜管理器初始化完成,才能使用所有功能
    [TuSDK checkManagerWithDelegate:self];
    // Framework Version Print
    NSLog(@"TuSDK.framework 的版本号 : %@",lsqSDKVersion);
    NSLog(@"TuSDKVideo.framework 的版本号 : %@",lsqVideoVersion);
}
    #pragma mark - TuSDKFilterManagerDelegate
    /**
     * 滤镜管理器初始化完成(代理方法)
     *
     * @param manager
     * 滤镜管理器
     */
    - (void)onTuSDKFilterManagerInited:(TuSDKFilterManager *)manager;
    {
        NSLog(@"滤镜初始化完成");
    }
6、需要在 Info.plist 中添加相应权限,否则程序在 iOS 10 系统上会出现问题。需要添加如下权限:
<!-- 相册 --> 
<key>NSPhotoLibraryUsageDescription</key> 
<string>Recording requires to use your photo library</string> 
<!-- 相机 --> 
<key>NSCameraUsageDescription</key> 
<string>Recording requires to use your camera</string> 
<!-- 麦克风 --> 
<key>NSMicrophoneUsageDescription</key> 
<string>Recording requires to use your microphone</string> 
<!-- 在使用期间访问位置 --> 
<key>NSLocationWhenInUseUsageDescription</key> 
<string>Recording requires your location</string> 
            
                ©2019-2025 TUTUCLOUD. All Rights Reserved. 杭州元凡视觉智能科技有限公司 | 浙ICP备14040447号-1 | 
浙公网安备33010602001649号