思路:創建一個是遠程私有spec倉庫與本地私有spec倉庫,也就是兩個檢索庫,其他的和遠程倉庫沒有太大的區別,區別是比遠程公有倉庫多兩個檢索庫
總體內容
- 1、創建 遠程私有Spec倉庫與本地 Spec Repo檢索庫
- 2、創建Pod私有庫所需要的項目工程文件,并上傳到私有倉庫
- 3、創建Pod所對應的podspec文件, 并進行驗證/測試
- 4、創建JKCIOBase版本,并提交代碼代碼到JKCIOBase的遠程倉庫
- 5、向私有的Spec Repo中提交podspec和遠程私有spec倉庫提交
- 6、使用pod庫來測試遠程私有庫的使用
- 7、遠程私有庫與其他公有的混合使用
- 8、遠程私有庫分支
- 9、遠程私有庫添加依賴庫
- 10、資源文件
.buldle
的添加 - 11、遠程私有庫內容更新
- 12、fastlane 自動化更新pod庫
- 13、其他組內成員如何使用?
一、創建 遠程私有Spec倉庫與本地 Spec Repo檢索庫,遠程的spec文件存在碼云的私有倉庫
- 1.1、在 碼云 創建私有的spec倉庫,取名為JKCIOSpecs,一定要選擇私有,不然誰都可以看到就沒有什么意義了
在碼云創建自由的spec倉庫,取名為JKCIOSpecs - 1.2、在本地添加一個spec倉庫
-
(1)、查看本地spec路徑
pod repo
查看本地spec路徑 -
(2)、查看幫助信息,可以看到能夠添加本地spec倉庫的提示
pod repo --help
查看幫助信息,可以看到能夠添加本地spec倉庫的提示 -
(3)、開始在本地添加spec倉庫
具體的代碼如下: JKCIOBase是本地spec倉庫的名字,名字你自己可以隨意取,git@gitee.com:JKWC/JKCIOSpecs.git
是我們上面在碼云創建的遠程spec倉庫的ssh
路徑,本地和遠程關聯起來pod repo add JKCIOBase git@gitee.com:JKWC/JKCIOSpecs.git
添加后的效果如下
command + shift +G 輸入 ~/.cocoapods/repos
相比之前多了一個JKCIOBase,也就是我們創建的本地私有spec倉庫-
提示:如果你的公鑰與私鑰沒有配置,那就設置下,在終端輸入下面的代碼,之后最后出現下圖
ssh-keygen
6161546395798_.pic_hd.jpg- 去電腦上的 個人->
.ssh
文件夾里面復制id_rsa.pub
的內容到碼云(在碼云個人設置里面添加公鑰),也可以使用快捷鍵:command + shift +G 輸入 ~/.ssh
進入到 ssh文件里面
`command + shift +G 輸入 ~/.ssh` - 小提示:
.ssh
是隱藏文件,可以用command+shift+.
讓隱藏文件顯示出現,復制完記得再次輸入command+shift+.
讓隱藏文件關閉,切記不要輕易刪除任何隱藏文件
-
-
(4)、查看添加后的效果,在終端輸入下面代碼
pod repo
查看添加后的效果,在終端輸入下面代碼 -
二、創建Pod私有庫所需要的項目工程文件(我們還在碼云創建)
-
2.1、我在碼云創建的CIO時代的基礎組件與功能組件庫:
JKCIOBase
我在碼云創建的CIO時代的基礎組件與功能組件庫: `JKCIOBase` -
2.2、把
JKCIOBase
克隆到本地,創建一個文件夾JKRemoteLocal
# 1、 cd導入路徑 cd 進入到JKRemoteLocal文件夾 # 2、git clone 倉庫到本地:clone自己倉庫的地址 git clone https://gitee.com/JKWC/JKCIOBase.git
-
2.3、在本地
JKRemoteLocal/JKCIOBase
文件夾里面創建一個JKCIOBase
文件夾,同時創建一個JKCIOBaseDemo
項目,與剛才創建的JKCIOBase同一個目錄
在本地 `JKRemoteLocal/JKCIOBase` 文件夾里面創建一個 `JKCIOBase`文件夾,同時創建一個`JKCIOBaseDemo`項目,與剛才創建的JKCIOBase同一個目錄 -
2.4、在與JKCIOBaseDemo 同級的文件夾JKCIOBase里面,我又創建了一個文件夾JKCategory,里面拖入了一個UIView的分類
UIView+JKLayout
三、創建Pod所對應的podspec文件, 并進行驗證
-
3.1、在與JKCIOBaseDemo同目錄下創建文件
JKCIOBase.podspec
cd 進入到JKCIOBase
提示:JKCIOBase 是第一個文件夾,也就是 JKCIOBase與JKCIOBaseDemo所在的文件夾
-
3.2、創建spec文件
pod spec create JKCIOBase
-
3.3、修改spec文件,下面是我修改的內容
Pod::Spec.new do |s| s.name = "JKCIOBase" s.version = "0.0.2" s.summary = "JKCIOBase." s.description = "JKCIOBase是CIO時代的基礎組件,后續還會繼續增加" s.homepage = "https://gitee.com/JKWC/JKCIOBase" s.license = "MIT" s.author = { "JoanKingWC" => "JoanKingWC@163.com" } s.ios.deployment_target = "8.0" s.source = { :git => "https://gitee.com/JKWC/JKCIOBase.git", :tag => "#{s.version}" } s.source_files = 'JKCIOBase/**/*.{h,m}' s.requires_arc = true end
提示:
1、s.summary
要比s.description
短
2、s.homepage
寫JKCIOBase在碼云的首頁
`s.homepage`寫JKCIOBase在碼云的首頁
3、s.source
寫JKCIOBase
的代碼地址即可
`s.source`寫 `JKCIOBase `的代碼地址即可
4、s.source_files
不要寫錯,這里的路徑是以 spec所在的目錄開始尋找的,也就是以JKCIOBase.podspec
所在的目錄開始尋找, JKCIOBase與JKCIOBase.podspec
同級目錄,取JKCIOBase下所有文件夾與.h
和.m
文件s.source_files = 'JKCIOBase/**/*.{h,m}' // ** 代表所有文件
5、如果依賴什么庫,就寫上依賴,如下,依賴 sqlite3,代碼如下
s.library = "sqlite3"
-
3.4、遠程驗證spec文件是否符合規則
pod spec lint JKCIOBase.podspec
提示:如果報錯就看下我在遠程公有庫博客里面對于驗證spec文件有問題的處理
四、創建JKCIOBase版本,并提交代碼代碼到JKCIOBase的遠程倉庫
-
4.1、
cd JKCIOBase.podspec
所在的目錄cd JKCIOBase.podspec所在的目錄
-
4.2、創建版本 tag: 要與
JKCIOBase.podspec
里面的版本號保持一致git tag '0.0.1'
-
4.3、提交版本號
git push origin 0.0.1
-
提示:如果你提交tag失敗了,請關聯倉庫,后面加你的倉庫地址,切記是代碼倉庫地址,不是遠程spec倉庫地址
git remote add origin https://github.com/JoanKing/JKCIOBase.git
-
如果我們想推送到其他的分支,可以移除之前的分支,假如我們自己的分支叫
feature
,那么查看是不是feature
,如果不是就刪除掉,有關這一點不懂的可以下方評論// 查看當前的分支 git branch // 查看自己的remote端名字 git remote -v // 如果不是我們的分支,刪除之前的 分支名 項目關聯,下面以 origin 為例 git remote rm origin // 添加關聯 git remote add feature https://github.com/JoanKing/JKGCDTimer.git
-
-
4.4、提交本地JKCIOBase的內容
打開Xcode,在Source Control
里面commit
選擇同時提交到遠程JKCIOBase
倉庫
打開Xcode,在 `Source Control` 里面 `commit` 選擇同時提交到遠程 `JKCIOBase`倉庫
五、向私有的Spec Repo中提交podspec和遠程私有spec倉庫提交
-
5.1、在
三
里面我們已經驗證過 spec文件是符合規定的,向私有的Spec Repo中提交 spec文件pod repo push JKCIOBase JKCIOBase.podspec
在此提示:JKCIOBase 是 私有本地私有 spec 索引庫的名字,JKCIOBase.podspec 是我們要推送的索引文件
提示:如果你在驗證的時候有警告,只要沒有報錯可以加上
--use-libraries --allow-warnings
,如下:pod repo push JKCIOBase JKCIOBase.podspec --use-libraries --allow-warnings
向私有的Spec Repo中提交 spec文件 -
5.2、我們驗證下是否成功
進入本地 JKCIOBase 倉庫,上面的沒有報錯,在JKCIOBase里面出現JKCIOBase倉庫就是成功了,JKCIOBase里面會存著每個版本的spec文件,這里展示了
0.0.2
版本的spec
文件command + shift +G 輸入 ~/.cocoapods/repos
我們驗證下是否成功 -
5.3、遠程私有spec倉庫提交
其實寫這個5.3是多余的,因為在5.2里面,我們把spec文件提交到本地的時候,同時也就提交到了我們創建的遠程 spec倉庫,也就是我們在1.1
創建的JKCIOSpecs
,我們看下JKCIOSpecs
里面,存放也是spec的各個版本,如下圖
六、使用pod庫來測試遠程私有庫的使用
6.1、在桌面創建一個項目
JKRemoteLocalTest
-
6.2、創建Podfile文件
cd JKRemoteLocalTest文件夾 pod init
-
6.3、修改 Podfile文件的內容
source 'git@gitee.com:JKWC/JKCIOSpecs.git' platform :ios, '9.0' target 'JKRemoteLocalTest' do use_frameworks! pod 'JKCIOBase' end
提示:
source 'git@gitee.com:JKWC/JKCIOSpecs.git'
是遠程spec倉庫的地址,不可少,因為pod 'JKCIOBase'
是要從 source資源里面去找spec文件來下載相應的版本的 JKCIOBase -
6.4、查看導入的效果
JKCIOBase成功導入
七、遠程私有庫與其他公有的混合使用
-
7.1、如下 Podfile文件 內容,導入
SDWebImage
是不會成功的source 'git@gitee.com:JKWC/JKCIOSpecs.git' platform :ios, '9.0' target 'JKRemoteLocalTest' do use_frameworks! pod 'JKCIOBase' pod 'SDWebImage' end
-
7.2、解決
7.1
導入SDWebImage
不成功的問題-
分析 SDWebImage 是屬于pod 公有庫的資源,在
source 'git@gitee.com:JKWC/JKCIOSpecs.git'
是不可能找到的,所以要在公有庫的資源里面尋找,查看公有庫資源路徑pod repo
pod repo查看spec路徑-
如下寫 Podfile 文件才是正確的
source 'git@gitee.com:JKWC/JKCIOSpecs.git' source 'https://github.com/CocoaPods/Specs.git' platform :ios, '9.0' target 'JKRemoteLocalTest' do use_frameworks! pod 'JKCIOBase' pod 'SDWebImage' end
-
-
-
7.3、查看導入遠程私有庫與公有庫的效果
查看導入遠程私有庫與公有庫的效果
八、遠程私有庫分支
- 8.1、這個有關分支的問題,我在遠程共有庫已經闡述過了這里我就在
JKCIOBase
添加一個JKKit
在`JKCIOBase `添加一個JKKit - 8.2、在spec文件里面設置一下
JKCategory
與JKKit
分支的東西
`JKCategory`與`JKKit`分支
-
8.3、把版本改為
0.0.6
,打tag提交代碼如下# cd 進入spec所在的目錄 cd 進入 JKCIOBase所在的目錄,也就是spec文件所在的目錄 # 打0.0.6的tag git tag '0.0.6' # 提交 tag到 遠程私有倉庫 git push origin 0.0.6 # 使用xcode提交代碼到遠程倉庫
-
8.4、提交spec文件到本地私有spec倉庫(也就是我們創建的JKCIOBase)
pod repo push JKCIOBase JKCIOBase.podspec --use-libraries --allow-warnings
提交spec文件到本地私有spec倉庫(也就是我們創建的JKCIOBase) -
8.5、在使用
command + shift +G 輸入 ~/.cocoapods/repos
里面的JKCIOBase
就可以看到里面多了一個新的版本,我這里提交的是0.0.6
查看是否提交成功 -
8.6、測試一下是否設置分支成功
cd 進入上面測試`JKRemoteLocalTest` # 更新庫 pod update
九、遠程私有庫添加依賴庫
- 9.1、給
JKCIOBase
添加依賴庫'AFNetworking'
與'MJRefresh'
,給JKKit
添加一個依賴庫Masonry
給`JKCIOBase`添加依賴庫 `'AFNetworking'`與`'MJRefresh'`,給`JKKit`添加一個依賴庫 `Masonry` - 9.2、打tag,提交spec等等和
八
里面的一樣,不再寫了 - 9.3、查看是否依賴第三方庫成功。同樣更新
JKRemoteLocalTest
依賴第三方庫成功
十、資源文件 .buldle
的添加
- 10.1、什么是Bundle文件?
答:簡單理解,就是資源文件包。我們將許多圖片、XIB、文本文件組織在一起,打包成一個Bundle文件。方便在其他項目中引用包內的資源。 - 10.2、Bundle文件的特點?
答:Bundle是靜態的,也就是說,我們包含到包中的資源文件作為一個資源包是不參加項目編譯的。也就意味著,bundle包中不能包含可執行的文件。它僅僅是作為資源,被解析成為特定的2進制數據。 - 10.3、bundle的優點
- (1)、因為bundle在目錄結構中的層次結構,一個bundle只包含資源文件。因此,你可以使用相同的文件接口像打開其他類型文件一樣打開bundle文件
- (2)、bundle的結構使它可以很容易的支持本地化,你可以非常容易的添加或者移除本地資源
- (3)、bundle可以保持在多種格式的的系統中, 如HFS,HFS+和AFP的multiple fork formats;UFS,SMB,NFS 的single-fork formats
- 10.4、我們創建一個
JKCIOBase.bundle
的資源文件-
<1>、新建一個工程macOS的Bundle項目
新建一個工程macOS的Bundle項目 -
<2>、命名為:JKCIOBase.bundle
命名為:JKCIOBase.bundle -
<3>、刪除文件夾和info.plist文件
刪除文件夾和info.plist文件 -
<4>、刪除Build Settings里的Packaging的info.plist的文件地址
刪除Build Settings里的Packaging的info.plist的文件地址 -
<5>、設置 Base SDK 為 iOS
設置Base SDK為iOS <6>、把
Build Active Architecture Only
修改為NO
,否則生成的庫就只支持當前選擇設備的架構-
<7>、bundle中的圖片格式修改
iOS 創建Bundle時放入的圖片資源(.png)在默認配置下會被轉為.tiff格式,使用的時候找不到。因為在iOS中創建bundle時會用一個“hack”,為了使所有的運行需要更改一個配置。找到bundle的工程,修改:Buld Settings >
COMBINE_HIDPI_IMAGES
為NO
Buld Settings > COMBINE_HIDPI_IMAGES and set toNO -
<8>.可選配置
作為資源包,僅僅需要編譯就好,無需安裝相關的配置,設置Skip Install
為YES
,清除Installation Directory
路徑信息。Buld Settings > `Installation Directory` -
<9>、最關鍵是把工程目錄下的
Build Settings
下Code Signing Identity
的蘋果研發者證書換成 iOS研發者證書`Build Settings`下`Code Signing Identity` -
<10>.添加要打包的資源文件進到文件夾,編譯
-
<11>、進入到
JKCIOBase.bundle
進入到 `JKCIOBase.bundle` -
<12>、把
JKCIOBase.bundle
復制到其他的iOS項目把`JKCIOBase.bundle`復制到其他的iOS項目 -
<13>、圖片的使用
-
第一種直接拖入項目使用,取路徑如下
-
OC
"JKCIOBase.bundle/icon_scan"
加載圖片
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(20, 100, 40, 40)]; imageView.image = [UIImage imageNamed:@"JKCIOBase.bundle/icon_scan"] [self.view addSubview:imageView];
-
Swift
let path = Bundle.init(for: ViewController.self).path(forResource: "Frameworks/xcrbasekit.framework/xcrbasekit", ofType: "bundle") let bundle = Bundle.init(path: path!) let image = UIImage.init(named: "xbb_bigV", in: bundle, compatibleWith: nil) let userImageView = UIImageView(frame: CGRect(x: 100, y: 100, width: 100, height: 100)) userImageView.image = image view.addSubview(userImageView)
-
對于上面參數的理解
let path = Bundle.init(for: #className.self).path(forResource: "#bunleName", ofType: "bundle") let bundle = Bundle.init(path: path!) let image = UIImage.init(named: "#pageName", in: bundle, compatibleWith: nil)
className:bundle所在的類的類名
bunleName:bundle名稱
pageName:要使用的圖片名稱
-
-
-
第二種封裝成SDK再使用,取路徑如下
-
OC
"Frameworks/JKOCProjectTool.framework/JKCIOBase.bundle/icon_scan"
加載圖片
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(20, 100, 40, 40)]; imageView.image = [UIImage imageNamed:@"Frameworks/JKOCProjectTool.framework/JKCIOBase.bundle/icon_scan"] [self.view addSubview:imageView];
-
Swift,取資源調用
<14>
里面的函數let userImageView = UIImageView(frame: CGRect(x: 100, y: 100, width: 100, height: 100)) userImageView.image = UIImage(named: getBundleResource(bundName: "xcrbasekit", resourceName: "xbb_bigV", bundleType: 1)) view.addSubview(userImageView)
-
-
-
<14>、把圖片路徑封裝成宏
-
OC
#define JKOCProjectToolBundlePath(file) [@"JKOCProjectTool.bundle" stringByAppendingPathComponent:file] #define JKOCProjectToolFrameworkBundlePath(file) [@"Frameworks/JKOCProjectTool.framework/JKOCProjectTool.bundle" stringByAppendingPathComponent:file] #define JKOCProjectToolBundleImageName(file) [UIImage imageNamed:JKOCProjectToolBundlePath(file)] ? :[UIImage imageNamed:JKOCProjectToolFrameworkBundlePath(file)]
-
Swift 寫成函數
/// 獲取資源文件 /// - Parameter bundName: bundle的名字 /// - Parameter resourceName: 資源的名字,比如圖片的名字 /// - Parameter bundleType: 類型:默認 0 是在自己模塊下使用,1 在其他模塊中使用 func getBundleResource(bundName: String,resourceName: String,bundleType: Int = 0) -> String { if bundleType == 1 { return "Frameworks/\(bundName).framework/\(bundName).bundle/\(resourceName)" } return "\(bundName).bundle/" + "\(resourceName)" }
-
-
十一、遠程私有庫內容更新
遠程私有庫內容更新的更新其實和八
里面一樣的步驟,修改JKCIOBase里面的內容,更改spec內的版本號,有要修改的就修改內容,打版本tag,提交tag到遠程私有倉庫,提交spec文件打破本地spec倉庫與遠程私有spec檢索倉庫
十二、fastlane 自動化更新pod庫
12.1、什么是自動化?
答:通過簡單的一條命令, 去自動執行一組固定操作,比如:測試、打包上傳審核、分發 等自動化使用場景12.2、Fastlane 簡介
Fastlane是一個ruby腳本集合-
12.3、Fastlane使用概念
-
lane
(航道) : 好比一道題 -
Action
機制:好比做一道題分很多步,每一步都是一個 Action,專業的解釋:Action是Fastlane自動化流程中的最小執行單元,體現在Fastfile腳本中的一個個命令,比如:cocoapods
、git_add
等等,而這些命令背后都對應一個用Ruby
編寫的腳本。 - 目前所有的 Action: Actions描述鏈接、源碼鏈接
- 常用action:
-
produce
創建可用于 iTunes Connect 和 Apple Developer Portal 的 iOS app。 -
cert
自動創建和維護 iOS 代碼簽名證書。 -
sigh
創建、更新、下載和修復 provisioning profiles。 -
snapshot
自動將 App 屏幕截圖本地化到每種設備上。 -
frameit
將屏幕截圖適配到適當的設備屏幕大小。 -
gym
創建和打包 iOS app。 -
deliver
上傳屏幕截圖、元數據和 App 到 App 商店。 -
PEM
自動創建和更新 Push 通知的 profile。
-
-
-
12.4、Fastlane 安裝
sudo gem install fastlane sudo gem install -n /usr/local/bin fastlane
提示:要求ruby版本最新
brew update brew install ruby
- 提示:如果報錯:
-bash: brew: command not found
- 解決上面報錯的方法:mac 終端下,執行以下命令,即可安裝brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 在終端環境下,
brew --version
查看brew的版本,也可以驗證brew是否安裝成功
- 提示:如果報錯:
-
12.5、在項目使用 Fastlane
<1>、在終端 cd 進入項目根目錄
-
<2>、
fastlane init
fastlane init`- (1)、??自動截圖
- (2)、????自動測試分發到TestFlight
- (3)、??自動化App Store分發
- (4)、??手動設置 - 手動設置項目以自動執行任務
提示1:看自己的需求,我這里選的4
提示2:如果不需要實現上傳等操作, 其實我們可以直接在工程目錄下, 創建一個fastlane
文件夾, 在文件夾內部創建"使用文件"(Fastfile
文件),在成功后fastlane
文件夾里面會有一個Fastfile
文件 -
<3>、 在fastlane 文件夾里面的 Fastfile 文件中, 描述不同的"航道",我們這里以下面的步驟為主
提示:在代碼轉化為 action的過程都是在 Actions描述 里面查找的
-
(1)、提交代碼到本地暫緩區,
git add .
,對應的fastlane 命令如下git_add(path: ".")
提示:
.
代表當前文件下所有的內容 -
(2)、提交代碼到本地倉庫,
git commit -m '提交內容說明'
,對應的fastlane 命令如下,提交說明的信息,我們可以定義成參數傳進來git_commit(path: ".", message: "提交代碼")
-
(3)、提交代碼到遠程倉庫,
git push origin master
,對應的fastlane 命令如下push_to_git_remote
-
(4)、給版本打tag,
git tag 版本號
,對應的fastlane 命令如下add_git_tag( tag: 版本號 )
提示:版本號我們傳進來
-
(5)、提交所有的版本
git push --tags
,對應的fastlane 命令如下push_git_tags
-
(6)、刪除指定tag: 本地刪除
git tag -d 0.0.1
,遠程刪除:git push origin :0.0.1
,對應的fastlane 命令如下remove_tag(tag:版本號)
-
(6)、驗證spec文件是否有報錯,允許有警告,
pod spec lint --allow-warnings
,對應的fastlane 命令如下pod_lib_lint(allow_warnings: true)
-
(7)、如果你在驗證的時候有警告,只要沒有報錯可以加上 --use-libraries --allow-warnings就可以提交:
pod repo push 本地私有庫名 組件名.podspec --use-libraries --allow-warnings
,,對應的 fastlane 命令如下pod_push(path: "#{組件名}.podspec", repo: "本地庫名", allow_warnings: true)
-
(8)、
pod install
對應的 fastlane 命令如下cocoapods( clean: true, podfile: "." )
提示:podfile后面的路徑是以 fastlane文件夾為準需要 Podfile 文件的,如果Podfile與fastlane文件夾同目錄,那么就寫:podfile: ".",其中
.
代表當前目錄
-
-
12.6、fastlane文件夾下Fastfile文件的命令完整的步驟如下:
default_platform(:ios) platform :ios do desc "pod遠程提交" lane :custom_lane do |options| # 參數一:提交代碼的備注 commit_message = options[:message] # 參數二:版本號 commit_tagName = options[:tagName] # 參數三:spec 文件的名字 commit_specName = options[:specName] # 參數四:倉庫的本地檢索庫的名字 commit_repositoryName = options[:repositoryName] # 1、提交代碼到本地暫緩區 git_add(path: ".") # 2、提交代碼到本地倉庫 git_commit(path: ".", message: "#{commit_message}") # 3、提交代碼到遠程倉庫 push_to_git_remote # 4、驗證tag是否存在,如果存在, 應該刪除本地標簽和遠程標簽 # 如果判斷標簽是否存在 if git_tag_exists(tag: commit_tagName) UI.message("發現tag:#{commit_tagName} 已經存在, 即將執行, 刪除動作 ??") # 執行刪除本地/遠程標簽 remove_tag(tag:commit_tagName) end # 5. git tag 標簽名稱 add_git_tag( tag: commit_tagName ) # 6. 提交tag到服務器 git push --tags push_git_tags # 7. 驗證spec文件是否有問題 pod_lib_lint(allow_warnings: true) # 8. 推送 spec 文件到本地和服務器 pod_push(path: "#{commit_specName}.podspec", repo: "#{commit_repositoryName}", allow_warnings: true) end end
使用方式:把fastlane文件夾拖到和spec文件同一目錄下,cd 進入 spec 文件所在的目錄,執行下面的命令
命令:
fastlane custom_lane message:提交內容說明 tagName: 版本號 specName: spec文件名字 repositoryName: 倉庫名字
提示:一定要有 fastlane文件夾,里面有Fastfile文件
十三、其他組內成員如何使用?
-
13.1、分配權限給同事
把創建的遠程代碼私有庫以及遠程spec私有庫都添加你同事進來,讓他注冊碼云賬號,添加這兩個遠程私有庫
13.2、添加本地私有庫
重復一 里面的 1.2
在本地添加一個spec倉庫-
13.3、配置Podfile文件
配置Podfile文件