Xcode11后Application Loader正式從Xcode的工具欄中消失
- 如果想在xcode11之后還使用
Application Loader
可以在Applications(應(yīng)用程序,你的不一定在這里,其實就是xcode的安裝位置)/Xcode.app/Contents/Applications/找到Application Loader,把它放在xcode11同樣的路徑,重啟xcode就可以看到它.
怎么通過xcrun altool上傳IPA包
- 你需要準備apiKey & apiIssuer
- 登陸itunes connection,
- 點擊用戶和訪問 > 密鑰 > 生成密鑰 (帳戶的擁有人,才有權(quán)限生成)
- 生成后可以找到 密鑰ID(apiKey) & IssuerId (apiIssuer)
- 也把密鑰下載下來, 在mac上: 你的用戶目錄新建一個private_keys文件夾把秘鑰放進去,否則會報錯。
驗證:
xcrun altool --validate-app -f <包的路徑.ipa> -t iOS --apiKey <密鑰ID> --apiIssuer <issuer ID> --verbose
示例:
xcrun altool --validate-app -f ./app.ipa -t iOS --apiKey $apiKey --apiIssuer $apiIssuer --verbose
上傳:
xcrun altool --upload-app -f <包的路徑.ipa> -t iOS --apiKey <密鑰ID> --apiIssuer <issuer ID> --verbose
示例:
xcrun altool --upload-app -f ./app.ipa -t iOS --apiKey $apiKey --apiIssuer $apiIssuer --verbose
我寫的一個shell , 命名為: appstore.sh <隨意>
apiKey=""
if [ -z "$1" ]; then
echo -e "\033[31m Please enter apiKey \033[0m"
read key
while ([ -z "$key" ]); do
echo -e "\033[31m Please enter apiKey \033[0m"
read key
done
apiKey=$key
else
apiKey=$1
fi
apiIssuer=""
if [ -z "$2" ]; then
echo -e "\033[31m Please enter apiIssuer \033[0m"
read issuer
while ([ -z "$issuer" ]); do
echo -e "\033[31m Please enter apiIssuer \033[0m"
read issuer
done
apiIssuer=$issuer
else
apiIssuer=$2
fi
echo -e "\033[46;30m apiKey is: $apiKey -- apiIssuer is: $apiIssuer \033[0m"
#上傳
function uploadFunc() {
upload="xcrun altool --upload-app -f ./app.ipa -t iOS --apiKey $apiKey --apiIssuer $apiIssuer --verbose"
echo "running upload cmd" $upload
uploadApp="$($upload)"
echo uploadApp
if [ -z "$uploadApp" ]; then
echo -e "\033[31m upload failed \033[0m"
else
echo -e "\033[46;30m upload success \033[0m"
fi
}
# 驗證
validate="xcrun altool --validate-app -f ./app.ipa -t iOS --apiKey $apiKey --apiIssuer $apiIssuer --verbose"
echo "running validate cmd" $validate
runValidate="$($validate)"
echo $runValidate
if [ -z "$runValidate" ]; then
echo -e "033[31m validate failed \033[0m"
else
uploadFunc
fi
使用
- 把你的ipa 命名為: app.ipa
- 把
appstore.sh丟到與你的ipa 同一目錄 - run:
bash appstore.sh xx xxxxxx
- 第一個xx 是apiKey
- xxxxxx 是apiIssuer
- 它會檢測你有沒輸入, 會一直提醒到你輸入為止
蘋果也出了一個工具:
Transporter方便快捷