網(wǎng)上的所謂教程 ?好坑啊E彀臁3凹睢金砍!
網(wǎng)上的所謂教程? 好坑啊B缶狻@炭!
網(wǎng)上的所謂教程? 好坑袄敫馈!7罴宵蛀!
參考文章:http://www.360doc.com/content/14/0309/10/11029609_358969425.shtml
http://www.reibang.com/p/1db5cb08e35c
流程:
1:安裝cocoa pods 在這里不多說(shuō) 很簡(jiǎn)單
2:創(chuàng)建github倉(cāng)庫(kù):這里3要選public 如果是私有類庫(kù)請(qǐng)查看創(chuàng)建pod私有類庫(kù) 這里是public,5選項(xiàng)要添加一個(gè)licnece ?這里我選擇的MIT
3:創(chuàng)建倉(cāng)庫(kù)成功clone到本地
4:在本地剛clone下來(lái)的目錄下 創(chuàng)建我們的項(xiàng)目或Demo并把我們需要上傳pod的類庫(kù)放到該目錄下县貌,使用Xcode編譯剛創(chuàng)建項(xiàng)目(pod的類庫(kù)也需要加入項(xiàng)目編譯)
5:在該目錄下創(chuàng)建pod spec:命令:pod spec create youname
6:編輯創(chuàng)建好的pod spec?
很多注釋用不到可以刪掉
必須更改的幾項(xiàng):
a.版本
s.version? ? ? = "0.0.1"
b.摘要
? ? s.summary? ? ? = "some category for me"
c.描述
s.description? = <<-DESC
? ? ? A longer description of MyExtension in Markdown format.
DESC
d.homepage以及source:github中項(xiàng)目路徑以及github地址术陶、這里tag可以添加個(gè)和版本號(hào)一致
s.homepage? ? = "https://github.com/FanKangPeng/MyExtension"
s.source? ? ? = { :git => "https://github.com/FanKangPeng/MyExtension.git", :tag => "0.0.1" }
e.license
s.license? ? ? = "MIT"
f.platform/deployment_target
s.platform? ? = :ios, "5.0"
s.ios.deployment_target = "5.0"
g.source_files:這個(gè)路徑是本地文件中 需要打包的內(nèi)容的相對(duì)于podspec的路徑
s.source_files? = "MyExtension/*"
h.framework/library:用到的framework/library,多個(gè)使用frameworks
s.framework? = "UIKit"
#s.frameworks = "UIKit"
i.Arc
s.requires_arc = true
大概信息更改完成 就可以驗(yàn)證:pod lib lint
成功提示MyExtension passed validation.
驗(yàn)證的error:
- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
pod spec中 platform/deployment_target未設(shè)置可能引起這個(gè)錯(cuò)誤
error: include of non-modular header inside framework module 'MyExtension.NSData_FanExtension' [-Werror,-Wnon-modular-include-in-framework-module]
首先查看pod spec中framework/library是否添加煤痕、再使用pod lib lint --use-libraries 驗(yàn)證
- WARN? | xcodebuild:? /Users/FanKangpeng/Desktop/MyExtension/MyExtension/NSString+FanExtension.m:607:22: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
Xcode允許警告 可以使用--allow-warnings屏蔽掉 pod lib lint --use-libraries --allow-warnings
驗(yàn)證完成 把我們的項(xiàng)目 podspec 上傳到我們的github項(xiàng)目 這里需要給git打上一個(gè)tag梧宫。上傳完成后,最后一步 上傳podspec到cocoa pods官網(wǎng)的倉(cāng)庫(kù)https://github.com/CocoaPods/Specs
上傳podspec到cocoa pods官網(wǎng)的倉(cāng)庫(kù)
第一種方式:首先clone官方specs到本地 項(xiàng)目比較大 耐心等待...........
下載完成后 在specs目錄下 創(chuàng)建一個(gè)文件夾目錄摆碉、名字就是我們的類庫(kù)名稱塘匣、文件夾內(nèi)再創(chuàng)建一個(gè)版本號(hào)的文件夾、版本號(hào)文件夾內(nèi)存放我們的podspec巷帝。然后把添加的內(nèi)容上傳github忌卤,正常情況下,就可以pod search 了 ?
第二種方式:trunk . 需要先注冊(cè)cocoa pod ?相關(guān)內(nèi)容百度吧
在pod spec目錄下 使用終端命令
pod trunk push MyExtension.podspec
這里還有坑@闫谩3刍病!之前的警告 錯(cuò)誤又來(lái)了 因?yàn)檫@里還要驗(yàn)證pod spec 所以再加上 --use-libraries --allow-warnings
提供一個(gè)Demo可以參考:https://github.com/FanKangPeng/MyExtension