使用Platium库开发dlna投屏功能

这几天公司的应用(iOS端)上要加一个dlna的功能,就是局域网内设备投屏控制的一个功能,并提供移动端控制。因为三方库Platinum是使用C++写的,所以我被分配去做库的Objective-C封装的工作。第一次接手这种事,对一个非计算机专业的学生来说还是蛮有挑战性的。组长说要先写一个接口设计文档来描述将要封装的接口和调用方式。只能网上查看各种资料喽!

这里是我一顿狂搜、看各种博客后搜集到的有用资料,列表如下:

链接 描述
Open Connectivity Foundation (OCF)官网 这里有UPnP相关的文档和各家公司开发的SDK,例如:Plutinosoft开发的Platinum库也可以从这里了顺藤摸瓜找到
dlna官网 这里有对dlna协议描述的文档下载,可以说要全面的学习dlna,这里的文档是不可或缺的,当然,实际中我们也没有必要学太深,不过知道这个资源,学习时就有底了;-)
一个关于dlan介绍的博客 上面两个网站就是通过阅读这个博客《DLNA&UPnP开发笔记》系列共四篇文章后找到的,值的阅读



好了,有了以上的几个资源,我们就可以开动了。我工作中使用了Platinum库进行dlna的媒体控制器(DMC)开发,所以也没有对dlna有太全面的了解,一切是从对Platinum库所提供的示例程序和项目README文件进行编译库和相关开发学习的。

那么,第一步就是,拉下项目进行编译和运行示例了。

编译Platinum库

首先,使用git拉下项目最近一次的提交

git clone --depth=1 https://github.com/plutinosoft/Platinum.git

因为Platinum的编译需要依赖一个名为Neptune的C++跨平台运行环境,当然这个项目里已经有解决方法,不需要我们另外下载或编译Neptune库,我们只需要通过Carthage工具,将Neptune的framework下载到Platinum的项目目录下。具体过程如下:

你要先进行Platinum项目目录下,发现其中有着名为CartfileCartfile.resolved这样的文件,文件中指明了Carthage这个工具软件所要下载的framework名称和版本,其实carthage这个工具类似于CocoaPods这个工具。不过你的Mac上很可能并没有安装carthage,所以你其实可以通过先在Mac上安装homebrew这个工具,然后使用homebrew来安装carghage。如下:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  # 安装homebrew

brew install carthage  # homebrew 安装成功后,安装carthage

cd Platinum/  # 进入Platinum项目目录下

carthage update  # 运行carthage 让其下载 Carthfile文件中指定的framework

当以上过程完成后,你会发现在Platinum/Carthage这个目录下面,已经存在Neptune这个C++跨平台运行环境的分别针对Mac和iOS的framework了,你只要确保以上的命令运行成功,并最终得到Neptune的FrameWork就可以编译Platinum的针对iOS的项目和示例程序了。

使用XCode打开/Platinum/Build/Targets/universal-apple-macosx/Platinum.xcodeproj项目文件,然后分别运行各

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值