さっきまで動いてたJenkinsのiOSビルドが、息をしていない。。。
Jenkinsの吐いたエラー
xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH
xcodeprojからappを作成してくれてたxcrunコマンドが通らなくなってる。。
調べてみると、
Xcode8.3でPackageApplicationがなくなったらしいです。。 Jenkinsヘルプ
急にXcode8.2→Xcode8.3にバージョンアップしてたのは、最近構築したJenkinsPCのAppStore設定が「自動インストール有効」になってたせいでした。
どうせなら8.3対応しよう.対処法はこちら
流れとしては、今まで
Unity→xcodeproj→app→ipa
だったのを
Unity→xcodeproj→xcarchive→ipa
に変更する。その際に xcrun PackageApplication ~~~~
コマンドを使わないで xcdebuild
コマンドでやりきる!!
xcodebuild -project ***~~~/Unity-iPhone.xcodeproject -scheme ${スキーム名} clean
xcodebuild \
-project ${projectパス}./Unity-iPhone.xcodeproj \
-scheme ${scheme名} \
-sdk iphones \
-archivePath ${アーカイブ名}.xcarchive \
-configuration ${conf} \
ONLY_ACTIVE_ARCH=NO \
PROVISIONING_PROFILE_SPECIFIER="${provisioning_profile名}" \
CODE_SIGN_IDENTITY="${identity}" \
DEVELOPMENT_TEAM=${team ID} \
DEBUG_INFORMATION_FORMAT="${debug_information_format}" \
archive
xcodebuild \
-exportArchive \
-archivePath ${アーカイブ名}.xcarchive \
-exportOptionsPlist "export用に作成したplist" \
-exportPath ${ipa出力ディレクトリ}
この3行に落ち着きました。
いろいろつけてるオプションとかは前からついてたオプションなんですが、説明するとすれば-exoprtOptionPlistに指定するplistは自分でせっせと書かないといけないということでしょうか。
今回はこんな感じでやりました。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>teamID</key>
<string>12345678</string>
<key>method</key>
<string>enterprise</string>
</dict>
</plist>
こちらを参考にplist作成しました。
参考:xcodebuildでipa作成 -exportOptionsPlist対応版
これからはplistも用途別に書き換えれるようにしないとだめか。。
では
最近のコメント