經過了一連串折騰,終於發現
原來之前已經半成功了!
只是jenkins 的使用者權限開錯了,導致跑不動 ios-sim
以下是整個的經過
1. 原本打算使用 octest
在 command line 下要執行
xcodebuild -workspace ??????.xcworkspace -scheme ?????Test -sdk iphonesimulator5.1 -configuration Debug TEST_AFTER_BUILD=YES clean build | ocunit2junit
(https://github.com/ciryon/OCUnit2JUnit)
?????Test 是一個特殊的scheme ,建立後且執行 Test
但是這個在 ios 6 上遇到了問題
iOS 6 有些簡化用的語法 ex : @{ xxx:ccc} = [NSDictionary dictionary…..]
如果使用 -sdk iphonesimulator5.1 是不能建置的
但是如果使用 -sdk iphonesimulator 似乎會有無法註冊的問題
(http://longweekendmobile.com/2011/04/17/xcode4-running-application-tests-from-the-command-line-in-ios/) (http://www.raingrove.com/2012/03/28/running-ocunit-and-specta-tests-from-command-line.html)
這裡我實驗了很久還是卡住
(有可能問題與最後的解法是相同的....)
2. 後來決定不使用xcode原來呼叫simulator的方法
改用 ios-sim
接著我就遇到了
"Simulator session timed out.
的問題
https://github.com/phonegap/ios-sim/issues/5
看了問題討論 似乎只要把 檔案一個位置就好了
但是 因為現在在放假期間 我不太敢亂重開server
所以只好想想看要怎麼改他的使用者權限
最後發現....
因為我一直以來都是用 sudo launchctl load xxxxx
如果用 sudo 的話,則好像會是用 root 開 jenkins
而他沒有 GUI的權限(?我猜測的… 如果有錯麻煩告知一下嚕@@)
所以開不了 simulator 導致timeout
所以我改用 user帳號 ssh 登入 server
只執行 launchctl load xxxxx
就可以正常的跑Unit Test了
沒有留言:
張貼留言