iOS LiveVideoCoreSDK推流框架集成

公司项目中有直播这个功能,技术经理要求用LiveVideoCoreSDK来进行推流的过程,百度了一圈,发现只有怎么使用这个框架的文章,几乎没有怎么集成到项目中的介绍,在耗费了将近2天的时间之后,终于成功集成了。所以就把这个对于我来说比较“艰辛”的过程记录下来,跟同行们共同勉励。

首先,SDK的GitHub地址:https://github.com/runner365/LiveVideoCoreSDK,去下载作者的demo;

如图1,是作者的文件夹目录,其中LiveVideoCoreDemo是作者的demo所在文件夹,对于代码结构的介绍,推荐参考:https://github.com/songsmith/LiveVideoCoreSDK,个人觉得这篇文章介绍的简洁明了,也是从这篇文章收到了启发,我才成功集成了这个框架。

图1

下面是集成过程:

(1)由于公司项目是已有项目,且没使用cocopods(对于cocopods的以后有时间再进行补充),所以我新建了一个project,命名为LiveDemo,放在了桌面上,代替公司已有项目;

(2)在桌面上新建一个文件夹,命名为Live,然后把下载的LiveVideoCoreSDK-master文件夹中,除LiveVideoCoreDemo以外的文件和文件夹(如图2红框中所示)进行拷贝(当然REDME文件可以忽略),拷贝到Live文件夹中;

图2

(3)把(1)中的LiveDemo文件夹拷贝或者直接拖到Live文件夹中,此时的Live文件夹如图3所示;

图3

接下来就比较重要了,要格外注意:

(4)打开Live文件夹中的.xcworkspace文件,即LiveVideoCoreSDK.xcworkspace文件,如图4所示,打开后会看到2个第三方target,如图5所示(有的时候会带个报红的xcodeproj文件,直接选中删除即可);

图4
图5

(5)此时,我们LiveDemo并没有在当前的workspace中,所以我们要将LiveDemo添加到打开的这个workspace中,我这里用的是xcode9,所以一定要使用add files to选项,这里我选择的是顶部菜单栏中 File--->Add Files To"xx"...选项,打开Live文件夹后,选择LiveDemo--->LiveDemo.xcodeproj文件即可,如图6所示;

图6

此处补充2点:xcode9必须用add files to选项来添加文件或文件夹,否则直接拖则会报一些错误;多个工程同时编译时,在打开的.xcworkspace添加另外一个项目工程时,只要添加对应项目的.xcodeproj文件即可(项目未使用cocopods);添加后的xcode项目目录就如图7所示了,xcode目录中会有3个target(有的时候在第(4)步的时候也会是如下图所示的情况,这样就省了第(5)步),现在这个状态才能实现三个target联编的效果,即LiveDemo才能使用另两个SDK中的方法;

图7

(6)添加工程所需要的库,以及相关设置,在这里可以看一下下载的LiveVideoCoreSDK-master的demo中的相关操作,首先是build setting的操作,如图8是原demo中的设置,直接拷贝红框中的路径,粘贴到LiveDemo相对应的地方;

图8

添加相应库,在build phrases中添加,相应库,如图9;其中在添加时会看到有两个.a库,除图9中所示,还有一个libRtmpLivePushSDK.a文件,我是都添加进去了,所以我的库文件如图10所示;

图9
图10

除上述设置以外在build setting里面搜索bitcode关键字,把图11中的选项进行如图11 的设置,即设为NO;

图11

此时,进行command + B就可以顺利编译了。

这时的LiveVideoCoreSDK就成功集成进来了。

注意点:在后来的打包过程中,发现会报一个有关owner的错误,致使无法archive,解决方法我已贴出,在另一篇文章:http://www.jianshu.com/p/bdd412f50b13

星星之火,可以燎原;点滴汇集,足成江河。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,874评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,926评论 6 342
  • 它必定是一首属于黑夜的曲子, 这空灵的旋律来自深邃的遥远。 在漆黑地平线的尽头, 在漫长的时间的彼岸。 你是多么的...
    卡卡斯图卡阅读 325评论 0 1
  • 坚持100天写作 Day 18文/梁莹 “老师,我不知道到自己对什么感兴趣,也不知道自己能做啥,我该怎么办?”没...
    梁瑩阅读 1,334评论 4 50