CIサービス(TravisCI)上でXcode9でビルドする場合、Xcode8の時より多くの設定をplistに設定しないといけないようです。
下記の様なShellで通りました。
generate_exportoptions_plist.sh
TEAM_ID=$1
BUNDLE_ID=$2
PROFILE_NAME=$3
METHOD=$4
CER=$5
cat > "$(PWD)/script/exportOptions.plist" <<EOF
<?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>method</key>
<string>${METHOD}</string>
<key>teamID</key>
<string>${TEAM_ID}</string>
<key>uploadBitcode</key>
<false />
<key>uploadSymbols</key>
<true />
<key>provisioningProfiles</key>
<dict>
<key>${BUNDLE_ID}</key>
<string>${PROFILE_NAME}</string>
</dict>
<key>signingCertificate</key>
<string>${CER}</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>thinning</key>
<string><none></string>
</dict>
</plist>
引数 | シェル内変数 | 設定内容 |
---|---|---|
第一引数 | TEAM ID | Xcode上で設定したチームID |
第二引数 | BUNDLE ID | Xcode上で設定したBundle ID |
第三引数 | PROFILE NAME | https://developer.apple.com で設定したProfile名(下記参照) |
第四引数 | METHOD | development, app-store, ad-hoc, enterpriseといった適切なものを設定 |
第五引数 | CER | "iPhone Distribution"という文字列 |