公司项目中有直播这个功能,技术经理要求用LiveVideoCoreSDK来进行推流的过程,百度了一圈,发现只有怎么使用这个框架的文章,几乎没有怎么集成到项目中的介绍,在耗费了将近2天的时间之后,终于成功集成了。所以就把这个对于我来说比较“艰辛”的过程记录下来,跟同行们共同勉励。
首先,SDK的GitHub地址:https://github.com/runner365/LiveVideoCoreSDK,去下载作者的demo;
如图1,是作者的文件夹目录,其中LiveVideoCoreDemo是作者的demo所在文件夹,对于代码结构的介绍,推荐参考:https://github.com/songsmith/LiveVideoCoreSDK,个人觉得这篇文章介绍的简洁明了,也是从这篇文章收到了启发,我才成功集成了这个框架。
下面是集成过程:
(1)由于公司项目是已有项目,且没使用cocopods(对于cocopods的以后有时间再进行补充),所以我新建了一个project,命名为LiveDemo,放在了桌面上,代替公司已有项目;
(2)在桌面上新建一个文件夹,命名为Live,然后把下载的LiveVideoCoreSDK-master文件夹中,除LiveVideoCoreDemo以外的文件和文件夹(如图2红框中所示)进行拷贝(当然REDME文件可以忽略),拷贝到Live文件夹中;
(3)把(1)中的LiveDemo文件夹拷贝或者直接拖到Live文件夹中,此时的Live文件夹如图3所示;
接下来就比较重要了,要格外注意:
(4)打开Live文件夹中的.xcworkspace文件,即LiveVideoCoreSDK.xcworkspace文件,如图4所示,打开后会看到2个第三方target,如图5所示(有的时候会带个报红的xcodeproj文件,直接选中删除即可);
(5)此时,我们LiveDemo并没有在当前的workspace中,所以我们要将LiveDemo添加到打开的这个workspace中,我这里用的是xcode9,所以一定要使用add files to选项,这里我选择的是顶部菜单栏中 File--->Add Files To"xx"...选项,打开Live文件夹后,选择LiveDemo--->LiveDemo.xcodeproj文件即可,如图6所示;
此处补充2点:xcode9必须用add files to选项来添加文件或文件夹,否则直接拖则会报一些错误;多个工程同时编译时,在打开的.xcworkspace添加另外一个项目工程时,只要添加对应项目的.xcodeproj文件即可(项目未使用cocopods);添加后的xcode项目目录就如图7所示了,xcode目录中会有3个target(有的时候在第(4)步的时候也会是如下图所示的情况,这样就省了第(5)步),现在这个状态才能实现三个target联编的效果,即LiveDemo才能使用另两个SDK中的方法;
(6)添加工程所需要的库,以及相关设置,在这里可以看一下下载的LiveVideoCoreSDK-master的demo中的相关操作,首先是build setting的操作,如图8是原demo中的设置,直接拷贝红框中的路径,粘贴到LiveDemo相对应的地方;
添加相应库,在build phrases中添加,相应库,如图9;其中在添加时会看到有两个.a库,除图9中所示,还有一个libRtmpLivePushSDK.a文件,我是都添加进去了,所以我的库文件如图10所示;
除上述设置以外在build setting里面搜索bitcode关键字,把图11中的选项进行如图11 的设置,即设为NO;
此时,进行command + B就可以顺利编译了。
这时的LiveVideoCoreSDK就成功集成进来了。
注意点:在后来的打包过程中,发现会报一个有关owner的错误,致使无法archive,解决方法我已贴出,在另一篇文章:http://www.jianshu.com/p/bdd412f50b13。
星星之火,可以燎原;点滴汇集,足成江河。