ちょっと前に、自分のOSSのバージョンアップの為にせっせと作業していたのですが、
Travisさんが何度やってもUnitTest開始 直前 にコケまくっていたので直しました。
Error Domain=IDETestOperationsObserverErrorDomain Code=3 "The operation couldn’t be completed.
(DTXProxyChannel error 1.) If you believe this error represents a bug,
please attach the log file at ...(略)
という謎のエラーを吐いていて直す方法がわからなかったのですが、下記参考(TravisCIのissue)のコメントを見たら解決策があったので試してみました。
before_install:
- export IOS_SIMULATOR_UDID=$(instruments -s devices | grep "$ios_device ($ios_version)" | sed -E 's/.*\[([0-9A-F-]+)\].*/\1/g')
- echo "Prelaunching iOS simulator $IOS_SIMULATOR_UDID"
- open -a "simulator" --args -CurrentDeviceUDID $IOS_SIMULATOR_UDID
どうやら、before_install
のphaseで、 instruments
の実行デバイス一覧の中から $ios_deviceと $ios_version に合致するシミュレーターのUUIDを取得して、先にSimulatorを起動させているようです。
これを書いてからUnitTestが謎にコケることがなくなりました。めでたしめでたし。