-
Notifications
You must be signed in to change notification settings - Fork 271
dylib
sunjian283019 edited this page Sep 20, 2016
·
32 revisions
1.pod install之后,KSYLive_iOS的目录结构如下图所示:
2.cd 进入releaseFramework
3.编译frameWork ./release-libKSYLive.sh
例:./release-libKSYLive.sh libksygpulive 265 编译一个名为libksygpulive.framework的静态推流库,其支持H265编码
4.在build的过程中出现下面的情况 是因为wget没有安装,请在终端内执行
brew install wget 或者 sudo brew intall wget
直播SDK位于framework目录下,ipa size是支持bitcode时的demo size,包含GPUImage和Bugly等第三方库。
名称 | 库名称 | 库size | ipa size | iOS要求 |
---|---|---|---|---|
直播SDK静态库 | libksygpulive.framework | 105M | 5.7M | 7.0及以上 |
直播SDK动态库 | libksygpulivedylib.framework | 74M | 6.9M | 8.0及以上 |
为什么framework这么大?
因为framework包括了armv7/arm64/i386/x86_64 四个体系结构。
同时libksygpulivedylib还将GPUImage包含进去了。
- 静态库体积更小,直播SDK对ipa的影响只有5.7M(含GPUImage和Bugly)
- 静态库iOS版本要求更低,只需要iOS 7.0。
- 动态库能解决ffmpeg冲突问题。
- 静态库对第三方库有更多的依赖库。静态库依赖以下第三方库:
- GPUImage.framework
- libstdc++.6.tbd
为了能够顺利提交app至app store, 需要移除动态库中的x86_64和i386平台,具体操作如下:
进入libksygpulivedylib.framework目录,执行命令:
- lipo libksygpulivedylib -remove x86_64 -output libksygpulivedylib
- lipo libksygpulivedylib -remove i386 -output libksygpulivedylib
执行完成后可使用lipo -info libksygpulivedylib 命令确认当前的动态库已经移除上面两个平台。
如果不执行上述操作,那么在提交app store的时候,可能会出现ITMS-90087, ITMS-90209, ITMS-90125错误。