剛做好了手表應用,結果將代碼上傳后,發現原來用jenkins做自動打包的時候會報找不到watchos路徑的錯誤,原來是用jenkins的Xcode插件,填好上面的scheme就能打出來的,現在不行了,搞了幾天,終于搞定。
使用可以參考:http://reviewcode.cn/article.html?reviewId=11
之前這個jenkins不是我搞的,也不太懂,后面才知道原來只是用了Jenkins提供的插件來打包的,現在發現插件不行了,而且雖然上面的文章已經提供了一個打包腳本,但是并沒有簽名的信息,即使能打包也是沒辦法安裝的。
接著發現原來,要用一個新的方式,參考:http://www.matrixprojects.net/p/xcodebuild-export-options-plist/
-exportOptionsPlist exportPlist.plist(這個文件要先創建好放在本地) 加這個換掉-exportFormat ipa這個,原本以為就可以了,后面發現還是報錯,然后找到了http://stackoverflow.com/questions/32841300/xcodebuild-exportarchive-exportoptionsplist-error-for-key-method-expected-o 這個問題,發現要把teamID給去掉,這時就可以了。
下面是我jenkins的三個execute cell,希望對大伙有用:
1.
mkdir -p archive ? ? ?//創建這個文件夾,用來存儲最后打出來的ipa包
rm -rf archive/*
mkdir -p build ? //這個打包的時候用來過渡
rm -rf build/*
2.簽名,打包
xcodebuild clean -workspace 你的workSpace名字.xcworkspace -scheme 你的scheme名字 -configuration Debug(Release等等) archive -archivePath ./build/你的應用名字(隨意).xcarchive && \
xcodebuild -exportArchive -exportOptionsPlist JenkinsArchive/exportDebugPlist.plist(這個文件先建好放在本地,是development還是ad-hoc,可以在工程里配上這兩個文件,在打包的時候改一下這個plist地址就行) -archivePath build/你的應用名字(隨意).xcarchive -exportPath build/
3.最后將包復制到我建的archive目錄下
cp -f build/你的應用名字(隨意).ipa archive/Debug.ipa
注意事項:
1.項目從svn下載到workspace后,一定要打開workspace,在Xcode里command+B build一下工程,不然jenkins會卡在某個地方不動(我第一次的時候都要這樣子做)
2.把jenkins的Xcode插件禁掉
還不會用markdown寫,好丑……見諒。