最近在公司电脑的cocapods出了点问题,想升级一下,没想到升级到1.9.x版本使用pod命令后ruby报错了,网上找了很久后也没有解决方案,一怒之下就把cocoapods全部删除了,想试试苹果推出的Swift Package Mnager,我自己在cocoapods上发而了好几个常用的库,但是还不支持Swift Package Mnager,所以学研究一下Swift Package Mnager,然后修改这些项目让它们都支持。
那下面就以我自己的库GrandTime为例子来看看怎么生成的 库的地址是https://github.com/DuckDeck/GrandTime
开发GrandTime的目的很简单,是用来代替NSDate,它提供了用户友好的,方便的简单的API,同时还有一个弱Timer,用来代替NSTimer
首先用Xcode生成一个新的Swift Package Manager项目‘
然后这个新的target是跑不起来的,需要设置Schema和设置源代码的Target
如图,需要添加一个跑这个Target的Schema,和将源码的Target Membership里添加GrandTimeDemo,这样GrandTimeDemo才能使用源码。这两步做完全后基本都完成了,剩下就是写示例代码了,这里就不演示了
示例代码写好后再测试Ok后就可以上传Github了 在这一步打上tag上传即可
这下大功告成,接一下就是使用了,非常简单
可见创建一个支持Swift Package Mnager的库是极为简单的,相比pod trunk发布Pod库步骤少太多了,目前已经将我写的所有库都支持Swift Package Mnager。