手动集成金山云短视频库遇到的问题

一、首先新建一个项目,打开 github.com/ksvc/KSYLive_iOS/releases 下载对应的静态库。  下载之后的framework的结构图

静态库结构图

然后通过 AddFilesTo  将 GPUImage.framework、libksygpulive.framework(KSYMediaEditorKit.framework库所需要的依赖)集成到项目中去。

二、添加进去之后,出现下图的问题。

头文件引用不到
头文件引用不到

这个时候需要配置静态库的路径。打开Build Settings ,然后找到Search Paths下的Framework Search Paths 添加 GPUImage.framework、libksygpulive.framework 两个库的路径。如下图所示

静态库路径截图

此时如果还是报上述错误的话,打开Build Settings,找到 Allow non-modular includes in framework modules,并将其设置为 YES。

这个时候,编译项目,就可以成功运行了。

运行成功截图

常见错误解决链接:github.com/ksvc/KSYMediaEditorKit_iOS/wiki/Q&A


4、然后编译成功。运行,,但是出现崩溃。原先是找不到unsignedIntegerValue方法。

unsignedIntegerValue

此时在项目任意位置 给NSString 添加一个分类。并加上分类方法。这样就解决了这个崩溃。如下图所示


.h文件
.m文件

5、因为视频上传的时候需要 用到 ks3,,所以我们需要导入ks3鉴权的SDK,然后我通过pod 的方式引入了ks3鉴权的SDK。然后命令行提示如下

我们需要在build settings上设置other linker flags   添加上 $(inherited)       (blog.csdn.net/kerry_deng/article/details/46531375

编译运行成功,但是会出现崩溃。

找不到MD5Hash方法

在项目中搜索这个方法,可以找到,但是并没有集成到APP中去。原因是没有在 build Setting   other linker flags  设置-ObjC (附带-ObjC的作用) blog.csdn.net/crash163/article/details/52088096

但是打开-Objc以后  又会出现 错误,如下图所示。


出现上述错误是因为缺少了 c++的库。(涉及与c++的混编,所以需要加上 libc++.1.tbd)

libc++.1.tbd

此时编译运行成功,可以开始写项目了。

推荐阅读更多精彩内容