#!/bin/sh
xcodePath=$1
projectPath=$2
archivePath="build/Unity-iPhone.xcarchive"
exportPath=$3 #Unity-iPhone.ipa
provisioningProfile=$4 #iOS_Distribution
ipaDir=${exportPath%/*}
mkdir $ipaDir
cd $projectPath
${xcodePath}/Contents/Developer/usr/bin/xcodebuild -scheme Unity-iPhone clean archive -archivePath $archivePath
# ${xcodePath}/Contents/Developer/usr/bin/xcodebuild -exportArchive -exportFormat ipa -archivePath $archivePath -exportPath $exportPath -exportProvisioningProfile "$provisioningProfile"
${xcodePath}/Contents/Developer/usr/bin/xcodebuild -exportArchive -archivePath $archivePath -exportPath $ipaDir -exportOptionsPlist exportOptions.plist
mv $ipaDir/Unity-iPhone.ipa $exportPath
# ${xcodePath}/Contents/Developer/usr/bin/xcodebuild build
# cd ${projectPath}/build/Release-iphoneos/
# ${xcodePath}/Contents/Developer/usr/bin/xcrun -sdk iphoneos packageapplication -v *.app -o $exportPath
exit $?
其中 exportOptions.plist
<!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>app-store</string>
<key>teamID</key>
<string>xxxxxxxxxx</string>
<key>compileBitcode</key>
<false/>
<key>uploadSymbols</key>
<false/>
</dict>
</plist>
method: (String) The method of distribution, which can be set as any of the following:
app-store
enterprise
ad-hoc
development
teamID: (String) The development program team identifier.
uploadSymbols: (Boolean) Option to include symbols in the generated ipa file.
uploadBitcode: (Boolean) Option to include Bitcode.