@H_404_0@在Swift怎样创建CocoaPod?
@H_404_0@CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。
@H_404_0@
@H_404_0@本文出自:raywenderlich,译文出自:开发技术前线,译者:MrLoong
@H_404_0@
@H_404_0@你可能会熟悉一些众所周知的、开源的CocoaPods的框架,例如Alamofire或MBProgressHUD,但有的时候你并不能找到一个符合你要求的pod,或者你可能想要把一个大的项目分成小的项目,或是可复用组建。
@H_404_0@
@H_404_0@幸运的是创建自己的CocoaPods很容易。
@H_404_0@
@H_404_0@如果你已经针对你的元件创建一个Cocoa Touch框架,那么就已经完成了大部分困难的工作。如果你没有创建过,不要惊慌,因为它确实很简单。
@H_404_0@
@H_404_0@如果你仅仅是创建了iOS应用的一部分,那也是OK的。你可以很轻松地创建一些新的pod,用于特殊环境下使用的推送类和功能。
@H_404_0@
@H_404_0@本教程以
@H_404_0@
@H_404_0@ How to Use CocoaPods with Swift结束。如果你之前从来没有使用过CocoaPods,然而这是本教程的一个先决条件。
@H_404_0@
@H_404_0@开始
@H_404_0@
@H_404_0@你的顶级客户是一个冰淇凌店,他们的冰淇凌是如此地受欢迎,他们的柜台跟不上客户的订单,需要创建一个简洁的iOS应用,让用户使用他们的Phone订购冰淇凌。你将开始开发这个应用程序。
@H_404_0@
@H_404_0@从
@H_404_0@
@H_404_0@ 这里下载这个开始的项目――这是How to Use CocoaPods with S
@H_404_0@
@H_404_0@ wift最终版本。这个应用有一些pod开发包已经包含在下载中,所以你不需要运行pod install去安装他们。
@H_404_0@
@H_404_0@打开IceCreamShop.xcworkspace,然后点击Main.storyboard,在Views\Storyboards &
@H_404_0@
@H_404_0@ Nibs看看这个应用是如何布局的。
@H_404_0@
@H_404_0@下面是快速Choose Your Flavor的应用场景,核心功能如下:
@H_404_0@
@H_404_0@ PickFlavorViewController: handles user interaction,such as when
@H_404_0@
@H_404_0@ the user selects an ice cream flavor.
@H_404_0@
@H_404_0@ PickFlavorViewController:处理用户交互,例如当用户选择一个口味的冰淇凌的时候
@H_404_0@
@H_404_0@ PickFlavorDataSource: is the data source for the collection view
@H_404_0@
@H_404_0@ that displays ice cream flavors.
@H_404_0@
@H_404_0@ PickFlavorDataSource:是选择冰淇凌口味试图的数据源。
@H_404_0@
@H_404_0@ IceCreamView: is a custom view that displays an ice cream cone and
@H_404_0@
@H_404_0@ is backed by a Flavor model.
@H_404_0@
@H_404_0@ IceCreamView: 是一个冰淇凌自定义模型。
@H_404_0@
@H_404_0@ ScoopCell: is a custom collection view cell that contains a
@H_404_0@
@H_404_0@ ScoopView,which is also backed by an instance of the Flavor
@H_404_0@
@H_404_0@ model class.
@H_404_0@
@H_404_0@ ScoopCell:自定义集合试图集合单元包含一个ScoopView,也是风味模型的一个支持类。
@H_404_0@
@H_404_0@这个冰淇凌店的老板非常喜欢这个应用程序,但他们又添加了一个新的要求:在他们的应用程序中需要有相同的口味风格选择。
@H_404_0@
@H_404_0@等等,那不是最初的设计,但是,对于一个NB的开发者来说,应该没有问题的。
@H_404_0@
@H_404_0@你能猜猜这个功能是怎么做的吗?是的,你将把这个功能集成到你自己的CocoaPod!。
@H_404_0@
@H_404_0@建立你自己的Pod
@H_404_0@
@H_404_0@创建一个新的Xcode项目并且选择iOS\Framework & Library\Cocoa Touch Framework,然后点击下一步:
@H_404_0@
@H_404_0@将工程命名为RWPickFlavor,并选择Swift语言,点击Next。
@H_404_0@
@H_404_0@这个教程的工程将创建在~/Documents/Libraries,在你的主目录中选择Documents文件夹。如果你没有Libraries文件夹,在底部点击新建文件夹按钮并且创建它。
@H_404_0@
@H_404_0@最后,选择Libraries文件夹并单击创建。
@H_404_0@
@H_404_0@保存你开发的pods这个目录非常重要,因为在本地开发Podfile期间,你将引用这个目录。
@H_404_0@
@H_404_0@正常情况下,当你使用CocoaPods,你在你的Podfile包含的关系是:
@H_404_0@
@H_404_0@pod ' PodName ','~> 1.0'但是当你开发你自己的CocoaPod,你将在本地建立一个特殊的路径,像这样:
@H_404_0@
@H_404_0@这种方法有两种好处:
@H_404_0@
@H_404_0@ 对于你的pod,它是使用本地机器上的文件,而不是从远程仓库中获取。
@H_404_0@
@H_404_0@ 正常情况下,你不需要选择一个pod包含到你的App中,因为这些选择将在你下一次运行pod install时被覆盖,pod将会重新从远程仓库读取并且覆盖更改的文件。
@H_404_0@
@H_404_0@你可以使用不同的位置对你的pods进行开发,一般情况下我建议还是将它们放在~/Documents/Libraries。如果你和一个团队合作开发,CocoaPods扩展作为扩展主目录,因此你不需要努力构建绝对路径在Podfile目录中。
@H_404_0@
@H_404_0@你也能使用其他的CocoaPods在你的工程中作为项目的依赖对于你创建CocoaPod。你只需要一个Podfile来管理你的CocoaPod依赖关系。
@H_404_0@
@H_404_0@关闭Xcode,然后在终端输入以下命令:
@H_404_0@
@H_404_0@cd ~/Documents/Libraries/RWPickFlavor
@H_404_0@
@H_404_0@pod init
@H_404_0@
@H_404_0@open -a Xcode Podfile
@H_404_0@
@H_404_0@这是创建一个新的Podfile,并在Xcode中打开它。
@H_404_0@
@H_404_0@使用下面的命令对Podfile进行更新:
@H_404_0@
@H_404_0@这声明RWPickFlavor将在Alamofire和MBProgressHUD提供依赖关系。
@H_404_0@
@H_404_0@保存并关闭Podfile,然后在终端输入以下命令:
@H_404_0@
@H_404_0@pod install
@H_404_0@
@H_404_0@正如你所期望的,这将创建一个工作区间并安装你所需要的各种文件。
@H_404_0@
@H_404_0@注意:如果pod install给你任何警告,这样的话你可能使用的是旧版本。Swift基于CocoaPods,尤其是Alamofire,需要CocoaPods 0.36版本或更新。根据以下命令,你可以检测你已经安装的CocoaPods版本。
@H_404_0@
@H_404_0@pod --version
@H_404_0@
@H_404_0@如果是版本过低的原因,输入以下终端命令来安装最新的版本。
@H_404_0@
@H_404_0@sudo gem install CocoaPods
@H_404_0@
@H_404_0@输入以下命令,打开并创建一个新的RWPickFlavor工作区间。
@H_404_0@
@H_404_0@open RWPickflavor.xcworkspace
@H_404_0@
@H_404_0@你的项目导航器看起来应该是这个样子:
@H_404_0@
@H_404_0@你现在需要从IceCreamShop复制一些已经存在的文件在RWPickFlavor工作区间。
@H_404_0@
@H_404_0@首先在RWPickFlworkspace创建一个组,把你需要的文件复制进去。
@H_404_0@ds & Nibs
@H_404_0@
@H_404_0@现在拖拽每一个文件,除了Ae,就像这样:
@H_404_0@
@H_404_0@当被提示时,确保每一个需要被复制的条目被复制安装了而不是简单的链接。
@H_404_0@
@H_404_0@当你完成了,RWPickFlavor应该有以下文件:
@H_404_0@
@H_404_0@现在,打开Infolist,找到Supporting Files组,并且删除Main storyboard file base name。
@H_404_0@
@H_404_0@构建并运行,你不应该看见任何错误,并且你会看见“Ice Cream Shop”的图标和黑色的背景。 原文链接:https://www.f2er.com/swift/325303.html