标签:
#! /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文件找不到的问题
2.-exportOptionsPlist 导出ipa时有可能报错no device等等,因为用的ruby不是最新,或者不是系统的
标签:
原文地址:http://www.cnblogs.com/ldc529/p/5808810.html