IPA 패키징에서 Appstore에 업로드하기까지 자동화된 프로세스를 완료하려면 몇 개의 IPA가 필요합니까?

5924 단어 javawebdevipa
1단계: 인증서 생성 및 가져오기

2단계: 앱 생성, 관련 정보 입력 및 관련 파일 업로드

3단계: IPA 자동 패키징

4단계: 자동 재서명

5단계: 앱 스토어에 자동 업로드

네 번째 단계는 resignature(resignature pit)를 자동화하는 것입니다.

이 문서의 현재 구현

5단계: Appstore에 앱 업로드

있을 때 * Apple의 백그라운드에 앱을 어떻게 업로드합니까?

1단계: 만들기 * Itmsp는 실제로 폴더입니다.

2단계: in * Create in itmsp * 메타데이터 파일은 실제로 XML 파일입니다. 내용은 다음과 같습니다.__APPID__,__FILESIZE__,__FILENAME__,__MD5SIGN__ 分别对应包的应用id(注意是苹果的一串数字id不是BundleId),Ipa包的大小,Ipa包的文件名,Ipa包的md5签名.
XML 文件内容
<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="software5.4">
<software_assets apple_id="__APPID__" app_platform="ios">
<asset type="bundle">
<data_file>
<size>__FILESIZE__</size>
<file_name>__FILENAME__</file_name>
<checksum type="md5">__MD5SIGN__</checksum>
</data_file>
</asset>
</software_assets></package>
3단계: * IPA를 * Itmsp에 복사합니다. 이름은 XML의 이름과 일치해야 합니다.

4단계: 업로드xcrun iTMSTransporter -m upload -u $USERNAME -p $PASSWORD -f ${IPAppath}/$itmspDir -t "DAV,Signiant" -k 100000 2>&1하나의 애플리케이션에 둘 이상의 인증서가 있을 수 있으므로 인증서도 지정해야 합니다.-itc_provider $PRO_NAME
其中 $PRO_NAME 你可以通过
security cms -D -i embedded.mobileprovision > plistfile
PRO_NAME=
/usr/libexec/PlistBuddy -c\'Print :TeamName\' plistfile
获得。
내 참조:#!/bin/bash# set -x
run_path=$(cd
이름 $0`; 암호)
cd $run_path
XMLTemplate=$run_path/XMLTemplate.xml #상면의xml 문서

IPA 경로=$1
APPID=$2
사용자 이름=$3
비밀번호=$4
IPApath=${IPApath%/}
PROXY=""#批量上传**용대리
게임 이름=""
if [ -z $USERNAME ]; 그 다음에
푸시 $IPApppath
만약에 [ ! -d $IPApppath/업로드 ]; 그 다음에
confzip= ls *_config.zip 만약에 [ ! -z $confzip ]; 그 다음에
압축 해제 -oq $confzip -d 업로드
파이
파이

pushd $IPAppath/upload

USERNAME=`cat gameinfo.txt| grep username`
USERNAME=${USERNAME##*\=}
PASSWORD=`cat gameinfo.txt| grep password`
PASSWORD=${PASSWORD##*\=}

if [ -z $APPID ]; then
    APPID=`cat gameinfo.txt| grep appId`
    APPID=${APPID##*\=}    fi

PROXY=`cat gameinfo.txt| grep proxyaddr`
PROXY=${PROXY##*\=}
GAMENAME=`cat setting.sh| grep GameName`
GAMENAME=${GAMENAME##*\=}    popd

popd 

파이
if [ -z $APPID ]; 그 다음에
에코 $GAMENAME
echo "这个游戏没有找到appId!!! ">> UploadResult.txt
echo "앱 ID가 없습니다!!!">> ${IPApppath}/UploadResult.txt
출구 1;
파이
함수 get_char()
{
SAVEDSTTY= stty -g stty -에코
stty cbreak
dd if=/dev/tty bs=1 카운트=1 2>/dev/null
stty -raw
stty 에코
stty $SAVEDSTTY
}
함수 일시정지()
{
if [ x"$1"!= x""]; 그 다음에
에코 $1
파이

char=`get_char`

}

PROXY=""[ -z "$PROXY" ]인 경우; 그 다음에



echo $GAMENAME" 该游戏没有获取到 代理 线路!"
exit 1;else
echo $PROXY
echo "请切换代理,然后按任意键继续!!!"

파이
일시정지# 출구 1;
MD5sign=$(md5 $IPApath | awk\'{print $4}\')
FILEsize=$(ls -l $IPApath | awk\'{print $5}\')

IPAname=$(openssl rand -base64 64 | tr -cd\'a-zA-Z\' |head -c 6).ipa

itmspDir=$(openssl rand -base64 64 | tr -cd\'a-zA-Z\' |head -c 4).itmsp
xmlF=${IPApppath}/$itmspDir/metadata.xml
if [ -d ${IPApppath}/$itmspDir ]; 그 다음에
rm -rf ${IPApppath}/$itmspDir
파이

mkdir ${IPApppath}/$itmspDir# echo -e $XMLTemplate > $xmlF

출구 1;



CP $XMLTemplate $xmlF

sed -i """s/APPID/$APPID/"$xmlF
sed -i """s/MD5SIGN/$MD5sign/"$xmlF
sed -i """s/FILESIZE/$FILEsize/"$xmlF
sed -i """s/FILENAME/$IPAname/"$xmlF

cp -Xr $IPApath ${IPApppath}/$itmspDir/$IPAname# 종료 1;

xcrun iTMSTransporter -m 업로드 -u $USERNAME -p $PASSWORD -f /Users/lestenlee/Documents/work/AutoBuildOutput/output20200703/20200703-221949/1521965964.itmsp -t "DAV,Signiant" -k 100000 -itc_provider 428RW85NQM 2> &1



echo "최상위 게임 => "$GAMENAME
xcrun iTMSTransporter -m 업로드 -u $USERNAME -p $PASSWORD -f ${IPApppath}/$itmspDir -t "DAV,Signiant"-k 100000 2>&1
upload_ret=$?
echo $GAMENAME"上传结果 => "$upload_ret
echo $GAMENAME"上传结果 => "$upload_ret >> UploadResult.txt
echo "上传结果 => "$upload_ret >> ${IPApppath}/UploadResult.txt
Batch upload:
#!/빈/배시
run_path=$(cd dirname $0 ; 비밀번호)
cd $run_path

chmod u+x $run_path/autoUpload.shfor 파일의 $run_path/output/*do
만약에 ! 테스트 -f $파일; 그 다음에
푸시 $ 파일
ipaf= ls $file/*resigned.ipa 만약에 [ ! -z $ipaf ]; 그 다음에
$run_path/autoUpload.sh $ipaf
파이

파이
완료`
Appstore 업로드 문제 기록

xcode11 이후에는 더 이상 altool로 업로드할 수 없습니다. 내 방식에 문제가 있을지도 모릅니다. 나는 여러 번 시도했지만 항상 붙어 있습니다. 그래서 위에서 사용한 xcrun 도구는 Xcode 11altool --upload-app -f ipa的存放路径 -t 平台(ios) -u 开发者账号 -p 开发者账号对应的密码xcode11 이전/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altoolxcode11 이후/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Fr

좋은 웹페이지 즐겨찾기