#! /bin/bash
#firtoken 29b441056e1e17c984cb32fadadsdddd
?
shell_dir=`dirname $0`
?
TARGET_NAME="SmartLock"
DIR_PATH=/Users/用戶名/Desktop/SmartLock
SIGN="iPhone Distribution:******"
PROFILE="66d127d6-7963-4c20-ac8b-47e4f0fe8742"
TEMP_DIR=$shell_dir/$TARGET_NAME.build
?
ARCHIVE_PATH=$DIR_PATH/$TARGET_NAME/archive
?
mkdir TEMP_DIR
?
rm -rf $ARCHIVE_PATH
if [ -f "$TEMP_DIR" ]; then
rm $TEMP_DIR
else
echo "no ipa file"
fi
?
xcodebuild -workspace $DIR_PATH/$TARGET_NAME.xcworkspace -scheme $TARGET_NAME -configuration Release clean archive CODE_SIGN_IDENTITY="$SIGN" PROVISIONING_PROFILE="$PROFILE" -archivePath $TEMP_DIR/$TARGET_NAME.xcarchive
?
echo "<?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>enterprise</string>\
<key>uploadBitcode</key>\
<false/>\
<key>compileBitcode</key>\
<false/>\
<key>uploadSymbols</key>\
<true/>\
<key>embedOnDemandResourcesAssetPacksInBundle</key>\
<false/>\
</dict>\
</plist>\
" >> $shell_dir/temexportFormat.plist
?
xcodebuild -exportArchive? -exportOptionsPlist $shell_dir/temexportFormat.plist -archivePath $TEMP_DIR/$TARGET_NAME.xcarchive -exportPath $TEMP_DIR
?
if [ ! -d "$ARCHIVE_PATH" ]; then
mkdir $ARCHIVE_PATH
fi
?
ARCHIVE_NAME=$TARGET_NAME-debug-$( date +"%Y%m%d_%H%M%S").ipa
cp $TEMP_DIR/$TARGET_NAME.ipa $ARCHIVE_PATH/$ARCHIVE_NAME
?
#fir p $ARCHIVE_PATH/$ARCHIVE_NAME? -T?29b441056e1e17c984cb32fadadsdddd
1.證書,服務器上的profile文件存放目錄有兩個,一個在用戶名下,一個在系統下,所以有時候會出現provisionprofile文件找不到的問題
系統profile文件路徑:/Library/MobileDevice/
2.-exportOptionsPlist ?導出ipa時有可能報錯no device等等,因為用的ruby不是最新,或者不是系統的
?."No applicable devices found."錯誤 ,使用系統的ruby
rvm use system