Xcodebuild自动打包

本文介绍了一个用于自动化构建iOS应用并生成IPA文件的Shell脚本。该脚本通过Xcode命令行工具完成清理、归档及导出IPA等操作,并详细展示了如何设置签名和配置文件。此外还提到了在过程中可能遇到的证书和Profile文件问题及其解决方案。

#! /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

转载于:https://www.cnblogs.com/ldc529/p/5808810.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值