自 1.40.2 版本起,iOS 点播 SDK 升级了动态库。与旧版本动态库相比,新版本动态库具有以下优势:
实现包的精细化拆分,以精简下载包的大小。
对齐静态库的依赖关系,便于动态库和静态库的迁移切换。
优化集成方式,规范头文件的引入方式,并与系统标准动态库对齐。
本文为您介绍如何升级至新版本动态库。
如果您在 1.40.2 版本之前使用的是动态库,可按照以下步骤,将其升级至 1.40.2 及之后版本的动态库。
保留 Podfile
文件中 CocoaPods 集成方式。如需精简下载包的大小,可指定 subspecs
字段,例如 :subspecs => ['Player-SR']
表示仅使用点播相关能力。
如果升级 SDK 后,您遇到找不到头文件的报错,可按如下两种方式处理:
方式一:修改代码中的 import 方式
如果您先前使用 #import <xxx/xxx.h>
添加头文件依赖,需批量搜索替换成 #import <TTSDKFramework/xxx.h>
。
如果您先前使用了独立库的单独文件,例如 #import <TTSDKPUFramework/TTSDKPUFramework.h>
,需替换成 #import <TTSDKFramework/TTSDKFramework.h>
。
方式二:不修改代码中的 import 方式
如果您不想修改头文件依赖方式,则需在 Podfile
文件中增加以下环境变量: ENV['TTSDK_FRAMEWORK_MODULE_NAME'] = '原来的 Framework 名称'
如果您此前使用的静态库,可参考以下步骤切换至新版本动态库:
将 Podfile
文件中 CocoaPods 集成方式修改成以下:
pod 'TTSDKFramework', :subspecs => ['Player-SR']
如果您通过 #import "xxx.h"
方式引入头文件,则无需修改任何代码。但是如果您通过 #import <TTSDK/xxx.h>
方式引入头文件,可按如下两种方式处理:
方式一(推荐):在 Podfile
文件中增加环境变量 ENV['TTSDK_FRAMEWORK_MODULE_NAME'] = 'TTSDK'
。
方式二:全局搜索 #import <TTSDK/xxx.h>
,替换为 #import <TTSDKFramework/TTSDKFramework.h>
。
subspecs
字段与能力的对应关系集成 iOS SDK 时,您可以在 Podfile
中使用 subspecs
字段指定集成你需要的库,以排除你不需要使用的能力,从而减少包体积。subspecs
字段与能力的对应关系详见下表:
Subspec | 点播 | 点播(支持超分) | 上传 |
---|---|---|---|
Video | 支持 | 支持 | 支持 |
Player-up | 支持 | 支持 | 支持 |
Player | 支持 | 不支持 | 不支持 |
Player-SR | 支持 | 支持 | 不支持 |
Uploader | 不支持 | 不支持 | 支持 |