本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/01/microservices-current-state
近日,CocoaPods 0.36-beta发布了,CocoaPods核心团队成员Marius Rackwitz(@mrackwitz)披露,该版本增加了对iOS 8框架以及Swift语言所编写的库的支持。此次发布保持了对已有pods的兼容性,同时还可以为Swift库创建新的pods。
在版本0.36中,CocoaPods可以支持流行的Swift库,如AlamoFire、SwiftyJSON 等,而此前只能手工添加到项目中或是通过git submodule来管理。除此之外,在继续贯彻生成一个包含了用户项目与Pods项目的工作空间这一哲学外,CocoaPods现在可以生成一个动态框架,其中包含了所有pods而非一个静态库。
iOS 8开始,通常只存在于OS X之上的动态框架开始迈入到了iOS中,但由于缺乏对其的支持而饱受iOS开发者诟病。其优势在于对多平台代码更好的封装,这要归功于“丰富”的二进制、资源包,以及对依赖库更好的处理。此外,框架还可以更轻松地添加到Xcode项目中,因为他们会自动处理头文件路径。资源会打包到pod框架中意味着同名资源不会再出现冲突了。不过在使用资源时,你需要特别小心,要引用正确的包。
针对Swift语言编写的库的可用Pods数量还不多,不过快速测试框架给出了一个如何创建支持Swift依赖的pod文件示例。
CocoaPods是个应用层依赖管理器,为外部库及其依赖管理提供了一个标准格式。相对于使用git submodules与手工管理源文件来添加第三方库的做法来说,CocoaPods是非常成功的。截至去年12月为止,CocoaPods已经有了100万的下载量。