Pod::Spec.new do |s| s.name = "MethodFactory" s.version = "0.0.1" s.summary = "MethodFactory is a Good Factory of Method." s.description = <<-DESC MethodFactory is a Good Factory of Method ,it has too much nice method. DESC s.homepage = "https://github.com/yanglei3kyou/MethodFactory" # s.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif" s.license = "MIT" # s.license = { :type => "MIT", :file => "FILE_LICENSE" } s.author = { "yanglei3kyou" => "[email protected]" } # Or just: s.author = "yanglei3kyou" # s.authors = { "yanglei3kyou" => "[email protected]" } # s.social_media_url = "http://twitter.com/yanglei3kyou" s.platform = :ios s.source = { :git => "https://github.com/yanglei3kyou/MethodFactory.git", :tag => "0.0.1" } s.source_files = “MethodFactory/**/*.{h,m}" # s.public_header_files = "Classes/**/*.h" s.resources = "MethodFactory/*.png" # s.preserve_paths = "FilesToSave", "MoreFilesToSave" s.frameworks = "Foundation", "UIKit" s.requires_arc = true end
b 參數解釋 s.license Pods依賴庫使用的license類型 s.source_files 表示源文件的路徑,注意這個路徑是相對podspec文件而言的。 s.frameworks 需要用到的frameworks,不需要加.frameworks後綴。 3、創建.podspec文件 (在 Git倉庫根目錄) a 創建文件,填寫內容(上方示例內容),根據內容進行修改 b Terminal命令$ pod spec create Method 四、關於LICENSE文件 CocoaPods 要求所有的Pods依賴庫都必須包含license文件,否則在發布CocoaPods官方時不予通過驗證。 license的類型有很多種,在創建github倉庫的時候,已經選擇了MIT類型的license。 五、關於主類文件 創建Pods依賴庫就是為了方便別人使用我們的成果,比如我想共享給大家的MethodFactory類,提供給廣大用戶使用,這個類自然是必不可少的。我把這個類包含的兩個文件放到一個名稱為MethodFactory的文件夾中,對應的目錄結構如圖: 六、關於Demo工程 為了快速地教會別人使用我們的Pods依賴庫,通常需要提供一個Demo工程。我創建的Demo工程放到了一個名為MethodFactoryDemo的文件夾中,該目錄包含的文件如下圖所示: 七、關於README.md 使用github的人應該都熟悉這個文件,它是一個成功github倉庫必不可少的一部分,使用的是markdown標記語言,用於對倉庫的詳細說明。 添加完上方文件後,Github本地倉庫目錄就如下圖所示 八、將本地倉庫提交到 Github 中 1、pod 驗證 $ set the new version to 1.0.0 $ set the new tag to 1.0.0 $ pod lib lint 注意: pod 驗證過程中,出現任何warning 或者 error信息,驗證都會失敗,請按照提示信息,進行修改 2、上傳到 Github 中 $ git add -A && git commit -m “Release 1.0.0." $ git tag ‘1.0.0' $ git push --tags $ git push origin master 九、不發布此Pods,直接使用Pods 如果沒有計劃在CocoaPods中發布此Pods,可直接在項目的Podfile文件中添加該 Pods並使用。 pod ‘MethodFactory’,:git => 'https://github.com/yanglei3kyou/MethodFactory.git' 十、上傳pod spec文件到 CocoaPods官方倉庫中 如果計劃Pods依賴庫在CocoaPods使用,需要將 podspec文件上傳到CocoaPods官方的specs倉庫中,鏈接為https://github.com/CocoaPods/Specs。 根據git的規則,要想向別人的倉庫中添加文件,必須先fork一份別人的倉庫,做完相應地修改後,在push給倉庫的原作者,等到作者審核通過,然後合並到原來的倉庫中。 1、fork一份CocoaPods官方的Specs倉庫 進入到剛才的官方倉庫鏈接中,點擊屏幕右上角的fork按鈕,如下圖: 然後大家會發現自己名下會多一份倉庫的分支。比如我的分支為: 2、將fork的倉庫clone到本地 $ git clonehttps://github.com/yanglei3kyou/Specs.git 重要的事情說三遍: 將對應倉庫地址換成自己的,將對應倉庫地址換成自己的,將對應倉庫地址換成自己的 3、將自己的podspec文件添加到本地Specs倉庫中 Specs倉庫clone到本地後,會放到一個名為Specs的文件夾中。podspec文件在Specs倉庫中的保存原則是: Pods依賴庫同名文件夾 —> 版本號同名文件夾 —> podspec文件 照此原則,需要在Specs文件夾下建立一個名為MethodFactory的文件夾,然後進入到MethodFactory文件夾下,建立一個名稱為1.0.0的文件夾,最後進入到1.0.0這個文件夾下,並且將之前創建好的MethodFactory.podspec文件拷貝進來。 不難理解,如果以後有對MethodFactory類的升級,就在MethodFactory文件夾下建立對應版本名稱的文件夾,用於保存對應版本的podspec文件即可。 4、上傳本地Specs倉庫中的修改到github倉庫 $ git add -A && git commit -m “Add MethodFactory pod spec file" $ git push origin master 執行以上命令,成功後就能在github上自己fork的Specs倉庫中看到剛上傳的文件。 5、將在自己fork的Specs上做的修改pull給CocoaPods官方的Specs倉庫 進入到自己fork的Specs倉庫中,會看到屏幕左上角有一個綠色按鈕:New pull request。點擊後會進入另外一個頁面,點擊綠色Create Pull Request按鈕,即可將我們fork的Specs上做的修改pull給CocoaPods官方的Specs倉庫。 到這一步後,剩下的工作就只有等了,等待CocoaPods的維護人員審核並將我們pull上去的修改合並到官方的Specs倉庫中,這個過程通常會有一天左右的等待時間。如果有任何消息,比如審核不通過,或者審核通過了,CocoaPods官方都會發郵件通知的。到審核通過的時候,我們就能在官方的Specs倉庫中看到自己上傳的文件夾。 6、查看審核進度 審核進度鏈接:https://github.com/CocoaPods/Specs/pulls,這裡能看到所有的Specs倉庫pull請求 十一、查看我們自己創建的Pods依賴庫 先使用 $ Pod setup 更新本地Pods依賴庫Tree。然後在使用 $ pod search MethodFactory 命令搜索。