組件庫的創(chuàng)建可查看鏈接:http://www.reibang.com/p/760d6cd46719
不知道cocoapod的podspec格式的小伙伴可以看下面的鏈接:https://guides.cocoapods.org/syntax/podspec.html#specification
進(jìn)入正題:
由于牽扯到資源庫的使用,podspec使用到了resource扎附,資源的使用可以有多種方式天通,我用的是
還有resource_bundles鸠天,下面是對(duì)resource和resource_bundles的比較弛针,大家可以自行取舍:https://juejin.im/post/5a77fb8df265da4e99576702
如需把資源(如:圖片和字體庫)單獨(dú)管理的可以參見如下:http://www.reibang.com/p/2c7cf4fb0b30
再附上bundle的制作鏈接:https://blog.csdn.net/Feng512275/article/details/77982962
問題1:
由于之前用的是上家公司的git地址,所以電腦里git的信息未更新胎食,在生成podspec的Author時(shí)候逗宜,是上家公司gitlab的地址,小伙伴可以通過下面指令修改:
git config user.name 你的目標(biāo)用戶名
git config user.email 你的目標(biāo)郵箱名
如果生成錯(cuò)的別忘了homePage和source里也要改剃诅!
問題2:
如需在自己的庫里用到其他庫的文件巷送,需要在.m里引用,如在.h里引用矛辕,在pod spec lint --verbose --allow-warnings報(bào)錯(cuò)誤:include of non-modular header inside framework module
可在.h里通過@class xxx 的方式引用該類
其實(shí)很多的 warn 可以通過終端的提示去解決
問題3:
在自己的庫里取資源的路徑如 UIImage* image = [UIImage imageNamed:@"xxx"];取出來的為nil笑跛,需要調(diào)整為
UIImage* image = [UIImage imageNamed:@"xxx"?inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil];
這是由于bundle不同引起的,系統(tǒng)默認(rèn)是去mainBundle里取image的
問題4:打完tag提交之后聊品,pod search搜索不到
1.可以通過pod setup飞蹂,在pod search
2.如果還不行,則?rm ~/Library/Caches/CocoaPods/search_index.json杨刨,把search_index.json文件刪除之后晤柄,再進(jìn)行pod search
3.如果是先把庫放到了自己建立的倉庫里,那是搜不到了妖胀!可以通過新建個(gè)項(xiàng)目芥颈,然后在podfile文件里添加
source 'https://github.com/你的用戶名/你的倉庫名.git'
source 'https://github.com/CocoaPods/Specs.git'
pod '你上傳的庫名'
通過pod install,然后安裝這個(gè)倉庫到本地赚抡,再進(jìn)行pod search爬坑,則能看到你上傳的庫了!
5.對(duì)了涂臣,還有個(gè)忘記提了盾计,必須確保執(zhí)行了
pod repo push <本地索引庫> <索引文件名> - -verbose - -allow-warnings
我之前就忘記了這個(gè)。赁遗。署辉。