เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจเจเจเจเจธ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจจเฉเฉฐ เจ เจธเฉเจเจฌเจฒ เจเจฐเจจ เจ เจคเฉ เจกเจฟเจฒเฉเจตเจฐ เจเจฐเจจ เจฆเฉ เจ เจจเฉเจญเจต เจจเฉเฉฐ เจธเจพเจเจเจพ เจเจฐเจฆเฉ เจนเจพเจ, เจเฉ เจเจฟ เจชเจฒเฉเจฐเฉเจ เจฎ เจเฉเจฐเจพเจธเจจเฉเจฆเจฐ เจธเจเฉเจกเฉเจ เจจเฉ CI/CD เจจเฉเฉฐ เจกเฉเจฌเฉฑเจ เจเจฐเจจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจตเจฟเฉฑเจ เจเจเฉฑเจ เจพ เจเฉเจคเจพ เจนเฉเฅค
เจธเจฟเจเจฒเจพเจ
เจนเจฐเฉเจ เจตเจฟเจ เจเจคเฉ เจเฉ เจเจฟเจธเฉ เจจเจพ เจเจฟเจธเฉ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจเจชเจฒ เจกเจฟเจตเจพเจเจธเจฟเจธ เจฒเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฆเฉ เจตเจฟเจเจพเจธ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจนเฉ, เจจเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเฉ เจฆเฉ เจตเจฟเจตเจพเจฆเจชเฉเจฐเจจ เจธเจนเฉเจฒเจค เจฆเฉ เจธเจผเจฒเจพเจเจพ เจเฉเจคเฉ เจนเฉ. เจฎเฉเจธเจผเจเจฒเจพเจ เจนเจฐ เจฅเจพเจ เจฎเจฟเจฒเจฆเฉเจเจ เจนเจจ: เจกเจฟเจตเฉเจฒเจชเจฐ เจชเฉเจฐเฉเจซเจพเจเจฒ เจฎเฉเจจเฉ เจคเฉเจ เจกเฉเจฌเฉฑเจ เจ เจคเฉ เจฌเจฟเจฒเจก เจเฉเจฒเจธ เจคเฉฑเจเฅค
เจเฉฐเจเจฐเจจเฉเฉฑเจ 'เจคเฉ "เจฌเฉเจจเจฟเจเจฆเฉ" เจฌเจพเจฐเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจฒเฉเจ เจนเจจ, เจเจธ เจฒเจ เจ เจธเฉเจ เจฎเฉเฉฑเจ เจเฉฑเจฒ เจจเฉเฉฐ เจเจเจพเจเจฐ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจพเจเจเฉ. เจเจชเจฃเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจธเจซเจฒเจคเจพเจชเฉเจฐเจตเจ เจฌเจฃเจพเจเจฃ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจฅเฉ เจเฉ เจเจพเจนเฉเจฆเจพ เจนเฉ:
เจกเจฟเจตเฉเจฒเจชเจฐ เจเจพเจคเจพ ;- เจเฉฑเจ macOS-เจ เจงเจพเจฐเจฟเจค เจกเจฟเจตเจพเจเจธ เจเฉฑเจ เจฌเจฟเจฒเจก เจธเจฐเจตเจฐ เจตเจเฉเจ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเฉ;
- เจชเฉเจฆเจพ เจเฉเจคเจพ
เจกเจฟเจตเฉเจฒเจชเจฐ เจธเจฐเจเฉเจซเจฟเจเฉเจ , เจเฉ เจเจฟ เจ เฉฑเจเฉ เจ เจฐเจเจผเฉ 'เจคเฉ เจฆเจธเจคเจเจค เจเจฐเจจ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจตเฉเจเจพ; - เจตเจฟเจฒเฉฑเจเจฃ เจจเจพเจฒ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจ
ID (เจฌเฉฐเจกเจฒ เจเจเจกเฉเจเจเฉเจซเจพเจเจฐ เจฆเฉ เจฎเจนเฉฑเจคเจคเจพ เจจเฉเฉฐ เจจเฉเจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ, เจเจฟเจเจเจเจฟ เจตเจพเจเจฒเจกเจเจพเจฐเจก เจเจเจกเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจซเฉฐเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจตเจฐเจคเจฃเจพ เจ เจธเฉฐเจญเจต เจฌเจฃเจพเจเจเจฆเฉ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ: เจเจธเฉเจธเฉเจเจเจฟเจก เจกเฉเจฎเฉเจจ, เจชเฉเจธเจผ เจธเฉเจเจจเจพเจตเจพเจ, เจเจชเจฒ เจธเจพเจเจจ เจเจจ เจ เจคเฉ เจนเฉเจฐ); เจชเฉเจฐเฉเจซเจพเจเจฒ เจ เจฐเจเจผเฉ เจฆเฉ เจฆเจธเจคเจเจค.
เจเฉฑเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจธเจฐเจเฉเจซเจฟเจเฉเจ เจเจฟเจธเฉ เจตเฉ macOS เจกเจฟเจตเจพเจเจธ 'เจคเฉ เจเฉเจเฉเจจ เจฆเฉเจเจฐเจพ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจธเจฐเจเฉเจซเจฟเจเฉเจ เจฆเฉ เจเจฟเจธเจฎ เจฌเจนเฉเจค เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ. เจเจชเจฒเฉเจเฉเจธเจผเจจ เจตเจพเจคเจพเจตเจฐเจจ (เจฆเฉเจต, QA, เจธเจเฉเจเจฟเฉฐเจ, เจเจคเจชเจพเจฆเจจ) 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเฉ เจนเฉเจ เจเจน เจตเฉฑเจเจฐเจพ เจนเฉเจตเฉเจเจพ (เจตเจฟเจเจพเจธ เจเจพเจ เจตเฉฐเจก), เจเจฟเจตเฉเจ เจเจฟ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเจธเจคเจเจค เจชเฉเจฐเฉเจซเจพเจเจฒ เจฆเฉ เจเจฟเจธเจฎ เจนเฉเจตเฉเจเฉเฅค
เจชเฉเจฐเฉเจซเจพเจเจฒเจพเจ เจฆเฉเจเจ เจฎเฉเฉฑเจ เจเจฟเจธเจฎเจพเจ:
- เจตเจฟเจเจพเจธ - เจตเจฟเจเจพเจธ เจเฉเจฎ เจฆเฉ เจ เจฐเจเจผเฉ 'เจคเฉ เจฆเจธเจคเจเจค เจเจฐเจจ เจฒเจ, เจเฉฑเจ เจตเจฟเจเจพเจธ เจธเจฐเจเฉเจซเจฟเจเฉเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ (เจเจฟเจธเจฎ เจฆเจพ เจจเจพเจฎ เจเจเจซเฉเจจ เจกเจฟเจตเฉเจฒเจชเจฐ: XXXXX);
- เจเจกเจนเจพเจ - QA เจตเจฟเจญเจพเจ เจฆเฉเจเจฐเจพ เจเฉฑเจ เจเฉเจธเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจ เจคเฉ เจ เฉฐเจฆเจฐเฉเจจเฉ เจคเจธเจฆเฉเจ 'เจคเฉ เจนเจธเจคเจพเจเจฐ เจเจฐเจจ เจฒเจ, เจกเจฟเจตเฉเจฒเจชเจฐ เจฆเจพ เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจ เจธเจฐเจเฉเจซเจฟเจเฉเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ (เจเจฟเจธเจฎ เจฆเจพ เจจเจพเจฎ เจเจเจซเฉเจจ เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจ: XXXXX);
- เจเจช เจธเจเฉเจฐ - เจเฉเจธเจเจซเจฒเจพเจเจ เจฐเจพเจนเฉเจ เจฌเจพเจนเจฐเฉ เจเฉเจธเจเจฟเฉฐเจ เจฒเจ เจฐเฉเจฒเฉเจเจผ เจฌเจฟเจฒเจก เจ เจคเฉ เจเจช เจธเจเฉเจฐ 'เจคเฉ เจ เฉฑเจชเจฒเฉเจก เจเจฐเจจ เจฒเจ, เจกเจฟเจตเฉเจฒเจชเจฐ เจฆเจพ เจตเฉฐเจก เจธเจฐเจเฉเจซเจฟเจเฉเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจกเจฟเจตเฉเจฒเจชเจฎเฉเจเจ เจ
เจคเฉ เจเจกเจนเจพเจ เจชเฉเจฐเฉเจซเจพเจเจฒ เจคเจฟเจเจฐ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจเจน เจตเฉ เจฆเจฐเจธเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ
เจธเจชเจธเจผเจเจคเจพ เจฒเจ, เจคเฉเจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจธเจพเจฐเจฃเฉ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจฆเฉ เจชเฉเจฐเฉเจซเจพเจเจฒ เจจเฉเฉฐ เจชเฉเจธเจผ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจเจธ เจจเจพเจฒ เจเจน เจธเจฎเจเจฃเจพ เจเจธเจพเจจ เจนเฉ เจเจพเจเจฆเจพ เจนเฉ เจเจฟ เจ เจธเฉเจเจฌเจฒเฉ เจฒเจ เจธเจพเจจเฉเฉฐ เจเจฟเจนเฉเฉ เจฎเจพเจชเจฆเฉฐเจกเจพเจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจฟเฉฑเจฅเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจนเฉเฅค
เจ เจธเฉเจเจฌเจฒเฉ
เจชเฉเจฐเฉเจเฉเจเจ เจ
เจคเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจฆเฉเจเจฐเจพ เจ
เจธเฉเจเจฌเจฒเฉเจเจ เจจเฉเฉฐ เจตเฉฑเจ เจเจฐเจจเจพ เจเจธเจพเจจ เจฌเจฃเจพเจเจฃ เจฒเจ, เจ
เจธเฉเจ เจชเฉเจฐเฉเจซเจพเจเจฒ เจจเจพเจฎเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟเจตเฉเจ เจเจฟ ${ProjectName}_${Instance}
, เจญเจพเจต, เจชเฉเจฐเฉเจเฉเจเจ เจฆเจพ เจจเจพเจฎ + เจเจฆเจพเจนเจฐเจฃ (เจเจชเจฒเฉเจเฉเจธเจผเจจ เจตเจพเจคเจพเจตเจฐเจฃ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉ: เจฆเฉเจต, QA, GD, เจธเจเฉเจเจฟเฉฐเจ, เจฒเจพเจเจต, เจ
เจคเฉ เจนเฉเจฐ)เฅค
เจเจฆเฉเจ เจฌเจฟเจฒเจก เจธเจฐเจตเจฐ เจคเฉ เจเจฏเจพเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ เจชเฉเจฐเฉเจซเจพเจเจฒ เจเจชเจฃเจพ เจจเจพเจฎ เจเฉฑเจ เจตเจฟเจฒเฉฑเจเจฃ ID เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฆเจพ เจนเฉ เจ
เจคเฉ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจญเฉเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ /Users/$Username/Library/MobileDevice/Provisioning Profiles
(เจเจฟเฉฑเจฅเฉ $Username
เจฌเจฟเจฒเจก เจธเจฐเจตเจฐ เจฆเฉ เจเจชเจญเฉเจเจคเจพ เจเจพเจคเฉ เจฆเฉ เจจเจพเจฎ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเจพ เจนเฉ)เฅค
*.ipa เจซเจพเจเจฒ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฆเฉ เจคเจฐเฉเจเฉ เจนเจจ - เจตเจฟเจฐเจพเจธเจค (เจชเฉเจเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ) เจ
เจคเฉ เจเจงเฉเจจเจฟเจ (XcAchive เจฌเจฃเจพเจเจฃ เจ
เจคเฉ เจจเจฟเจฐเจฏเจพเจค เจฆเฉเจเจฐเจพ)เฅค เจชเจนเจฟเจฒเฉ เจตเจฟเจงเฉ เจจเฉเฉฐ เจชเฉเจฐเจพเจฃเจพ เจฎเฉฐเจจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจเจฟเจเจเจเจฟ เจธเฉฐเจธเจเจฐเจฃ 8.3 เจคเฉเจ เจเจช เจซเจพเจเจฒ เจชเฉเจเฉเจเจฟเฉฐเจ เจฎเฉเจกเฉเจเจฒ เจจเฉเฉฐ Xcode เจตเฉฐเจก เจคเฉเจ เจนเจเจพ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจนเฉเฅค เจเจธเจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจชเฉเจฐเจพเจฃเฉ เจเจเจธเจเฉเจก (เจตเจฐเจเจจ 8.2 เจ
เจคเฉ เจชเฉเจฐเจพเจฃเฉ) เจคเฉเจ เจฎเฉเจกเฉเจเจฒ เจฆเฉ เจจเจเจฒ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/
เจ เจคเฉ เจซเจฟเจฐ เจเจฎเจพเจเจก เจเจฒเจพเจ:
chmod +x /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/*
เจ เฉฑเจเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ *.app เจซเจพเจเจฒ เจเจเฉฑเจ เฉ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
xcodebuild
-workspace $ProjectDir/$ProjectName.xcworkspace
-scheme $SchemeName
-sdk iphoneos
build
-configuration Release
-derivedDataPath build
CODE_SIGN_IDENTITY=โ$DevAccNameโ
PROVISIONING_PROFILE=โ$ProfileIdโ
DEPLOYMENT_POSTPROCESSING=YES
SKIP_INSTALL=YES
ENABLE_BITCODE=NO
เจเจฟเฉฑเจฅเฉ:
-workspace
โ เจชเฉเจฐเฉเจเฉเจเจ เจซเจพเจเจฒ เจฆเจพ เจฎเจพเจฐเจเฅค
-scheme
- เจตเจฐเจคเฉ เจเจ เจธเจเฉเจฎ, เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจฆเจฐเจธเจพเจ เจเจ เจนเฉเฅค
-derivedDataPath
- เจ
เจธเฉเจเจฌเจฒเจก เจเจชเจฒเฉเจเฉเจธเจผเจจ (*.app) เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจ เจฆเจพ เจฎเจพเจฐเจเฅค
CODE_SIGN_IDENTITY
โ เจกเจฟเจตเฉเจฒเจชเจฐ เจเจพเจคเฉ เจฆเจพ เจจเจพเจฎ, เจเจฟเจธ เจจเฉเฉฐ เจเฉเจเฉเจจ เจตเจฟเฉฑเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ (เจเจเจซเฉเจจ เจกเจฟเจตเฉเจฒเจชเจฐ: XXXX XXXXXXX, เจฌเจฐเฉเจเจเจพเจ เจตเจฟเฉฑเจ TeamID เจคเฉเจ เจฌเจฟเจจเจพเจ)เฅค
PROVISIONING_PROFILE
- เจเจชเจฒเฉเจเฉเจธเจผเจจ 'เจคเฉ เจฆเจธเจคเจเจค เจเจฐเจจ เจฒเจ เจชเฉเจฐเฉเจซเจพเจเจฒ เจเจเจกเฉ, เจเฉ เจเจฎเจพเจเจก เจจเจพเจฒ เจชเฉเจฐเจพเจชเจค เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเฉ:
cd "/Users/$Username/Library/MobileDevice/Provisioning Profiles/" && find *.mobileprovision -type f | xargs grep -li ">${ProjectName}_${Instance}<" | sed -e 's/.mobileprovision//'
เจเฉเจเจฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเฉฑเจ เจตเจพเจงเฉ เจชเฉเจฐเฉเจซเจพเจเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจชเฉเจธเจผ เจธเฉเจเจจเจพเจตเจพเจ เจฒเจ), เจคเจพเจ เจเจธเจฆเฉ เจฌเจเจพเจ PROVISIONING_PROFILE
เจธเฉฐเจเฉเจค:
APP_PROFILE=โ$AppProfileโ
EXTENSION_PROFILE=โ$ExtProfileโ
เจ เฉฑเจเฉ, เจจเจคเฉเจเฉ เจตเจเฉเจ *.app เจซเจพเจเจฒ เจจเฉเฉฐ *.ipa เจตเจฟเฉฑเจ เจชเฉเจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจคเฉเจธเฉเจ เจเฉฑเจ เจเจฎเจพเจเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเจฟเจตเฉเจ เจเจฟ:
/usr/bin/xcrun --sdk iphoneos PackageApplication
-v $(find "$ProjectDir/build/Build/Products/Release-iphoneos" -name "*.app")
-o "$ProjectDir/$ProjectName_$Instance.ipa"
เจนเจพเจฒเจพเจเจเจฟ, เจเจธ เจตเจฟเจงเฉ เจจเฉเฉฐ เจเจชเจฒ เจฆเฉ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจคเฉเจ เจชเฉเจฐเจพเจฃเจพ เจฎเฉฐเจจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ. เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจฐเจเจพเจเจต เจคเฉเจ เจจเจฟเจฐเจฏเจพเจค เจเจฐเจเฉ *.ipa เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจขเฉเจเจตเจพเจ เจนเฉเฅค
เจชเจนเจฟเจฒเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจฎเจพเจเจก เจจเจพเจฒ เจเจฐเจเจพเจเจต เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
xcodebuild
-workspace $ProjectDir/$ProjectName.xcworkspace
-scheme $SchemeName
-sdk iphoneos
-configuration Release
archive
-archivePath $ProjectDir/build/$ProjectName.xcarchive
CODE_SIGN_IDENTITY=โ$DevAccNameโ
PROVISIONING_PROFILE=โ$ProfileIdโ
ENABLE_BITCODE=NO
SYNCHRONOUS_SYMBOL_PROCESSING=FALSE
เจ
เจธเฉเจเจฌเจฒเฉ เจตเจฟเจงเฉ เจ
เจคเฉ เจตเจฟเจเจฒเจชเจพเจ เจตเจฟเฉฑเจ เจ
เฉฐเจคเจฐ เจนเจจ SYNCHRONOUS_SYMBOL_PROCESSING
, เจเฉ เจฌเจฟเจฒเจก เจเจพเจเจฎ 'เจคเฉ เจชเฉเจฐเจคเฉเจ เจ
เจจเจฒเฉเจกเจฟเฉฐเจ เจจเฉเฉฐ เจ
เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉเฅค
เจ เฉฑเจเฉ เจธเจพเจจเฉเฉฐ เจจเจฟเจฐเจฏเจพเจค เจธเฉเจเจฟเฉฐเจเจพเจ เจจเจพเจฒ เจเฉฑเจ เจซเจพเจเจฒ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ:
ExportSettings="$ProjectDir/exportOptions.plist"
cat << EOF > $ExportSettings
<?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>compileBitcode</key>
<false/>
<key>uploadBitcode</key>
<false/>
<key>uploadSymbols</key>
<false/>
<key>method</key>
<string>$Method</string>
<key>provisioningProfiles</key>
<dict>
<key>$BundleID</key>
<string>$ProfileId</string>
</dict>
<key>signingCertificate</key>
<string>$DevAccName</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>$TeamID</string>
<key>thinning</key>
<string><none></string>
</dict>
</plist>
EOF
เจเจฟเฉฑเจฅเฉ:
$Method
โ เจกเจฟเจฒเฉเจตเจฐเฉ เจตเจฟเจงเฉ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจนเจธเจคเจพเจเจฐ เจชเฉเจฐเฉเจซเจพเจเจฒ เจเจฟเจธเจฎ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเฉ เจนเฉ, เจ
เจฐเจฅเจพเจค, เจตเจฟเจเจพเจธ เจฒเจ เจฎเฉเฉฑเจฒ เจตเจฟเจเจพเจธ เจนเฉเจตเฉเจเจพ, เจเจก-เจนเฉเจ เจฒเจ - เจเจก-เจนเจพเจ, เจ
เจคเฉ เจเจช เจธเจเฉเจฐ เจฒเจ - เจเจช-เจธเจเฉเจฐเฅค
$BundleID
- เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจเจกเฉ, เจเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจฆเจฐเจธเจพเจ เจเจ เจนเฉเฅค เจคเฉเจธเฉเจ เจเจฎเจพเจเจก เจจเจพเจฒ เจเจพเจเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ:
defaults read $ProjectDir/Info CFBundleIdentifier
$DevAccName ะธ $ProfileId
โ เจกเจฟเจตเฉเจฒเจชเจฐ เจฆเจพ เจจเจพเจฎ เจ
เจคเฉ เจฆเจธเจคเจเจค เจชเฉเจฐเฉเจซเจพเจเจฒ เจเจเจกเฉ เจธเฉเจเจฟเฉฐเจเจพเจ เจเฉ เจชเจนเจฟเจฒเจพเจ เจตเจฐเจคเฉเจเจ เจเจพเจเจฆเฉเจเจ เจธเจจ เจ
เจคเฉ เจจเจฟเจฐเจฏเจพเจค เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจฎเฉเฉฑเจฒเจพเจ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเฉเจเจ เจนเฉเจฃเฉเจเจ เจเจพเจนเฉเจฆเฉเจเจ เจนเจจเฅค
$TeamID
โ เจกเจฟเจตเฉเจฒเจชเจฐ เจฆเฉ เจจเจพเจฎ เจคเฉเจ เจฌเจพเจ
เจฆ เจฌเจฐเฉเจเจเจพเจ เจตเจฟเฉฑเจ เจฆเจธ-เจ
เฉฐเจ เจฆเฉ ID, เจเจฆเจพเจนเจฐเจจ: iPhone เจกเจฟเจตเฉเจฒเจชเจฐ: โฆโฆ (XXXXXXXXXX); เจเฉเจเฉเจจ เจตเจฟเฉฑเจ เจเฉเฉฑเจ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจ เฉฑเจเฉ, เจจเจฟเจฐเจฏเจพเจค เจเจฎเจพเจเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ, เจ เจธเฉเจ เจฒเฉเฉเฉเจเจฆเฉ *.ipa เจซเจพเจเจฒ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจ:
xcodebuild
-exportArchive
-archivePath $ProjectDir/build/$ProjectName.xcarchive
-exportPath $ProjectDir
-exportOptionsPlist $ExportSettings
เจธเจผเจฟเฉฑเจชเจฟเฉฐเจ เจเจพเจฃเจเจพเจฐเฉ
เจนเฉเจฃ เจเจเฉฑเจ เฉ เจเฉเจคเฉ เจเจ เจซเจพเจเจฒ เจจเฉเฉฐ เจ เฉฐเจคเจฎ เจเจชเจญเฉเจเจคเจพ, เจฏเจพเจจเฉ เจกเจฟเจตเจพเจเจธ 'เจคเฉ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจกเจฟเจฒเฉเจตเจฐ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ.
เจตเจฟเจเจพเจธ เจ เจคเฉ เจเจกเจนเจพเจ เจฌเจฟเจฒเจกเจพเจ เจจเฉเฉฐ เจตเฉฐเจกเจฃ เจฒเจ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจธเฉเจตเจพเจตเจพเจ เจนเจจ, เจเจฟเจตเฉเจ เจเจฟ HockeyApp, AppBlade เจ เจคเฉ เจนเฉเจฐ, เจชเจฐ เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจจเฉเฉฐ เจตเฉฐเจกเจฃ เจฒเจ เจเฉฑเจ เจธเจเฉเจเจกเจ เจฒเฉเจจ เจธเจฐเจตเจฐ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจพเจเจเฉเฅค
เจเจเจเจเจธ เจฒเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจเจพ 2 เจชเฉเจพเจตเจพเจ เจตเจฟเฉฑเจ เจนเฉเฉฐเจฆเจพ เจนเฉ:
- เจเจเจเจฎเจพเจ เจธเฉเจตเจพ เจฆเฉเจเจฐเจพ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจธเจฅเจพเจชเจจเจพ เจฎเฉเจจเฉเจซเฉเจธเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพเฅค
- HTTPS เจฆเฉเจเจฐเจพ เจฎเฉเจจเฉเจซเฉเจธเจ เจตเจฟเฉฑเจ เจฆเจฐเจธเจพเจ เจเจ เจเจพเจฃเจเจพเจฐเฉ เจฆเฉ เจ เจจเฉเจธเจพเจฐ *.ipa เจซเจพเจเจฒ เจฆเฉ เจธเจฅเจพเจชเจจเจพเฅค
เจเจธ เจคเจฐเฉเจนเจพเจ, เจธเจพเจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจเจฎเจพเจเจก เจจเจพเจฒ เจเฉฑเจ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจฎเฉเจจเฉเจซเฉเจธเจ (เจซเจพเจเจฒ เจเจฟเจธเจฎ *.plist) เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ:
cat << EOF > $manifest
<?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>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>$ipaUrl</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>$BundleID</string>
<key>bundle-version</key>
<string>$AppVersion</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>$ProjectName_$Instance</string>
<key>subtitle</key>
<string>$Instance</string>
</dict>
</dict>
</array>
</dict>
</plist>
EOF
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจตเฉเจ เจธเจเจฆเฉ เจนเฉ, เจฎเฉเจจเฉเจซเฉเจธเจ เจตเจฟเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจเจฃ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจฒเจเจญเจ เจธเจพเจฐเฉ เจฎเจพเจชเจฆเฉฐเจก เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ เจนเจจเฅค
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจธเฉฐเจธเจเจฐเจฃ ($AppVersion
) เจเจฎเจพเจเจก เจจเจพเจฒ เจเจพเจเจ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเฉ:
defaults read $ProjectDir/Info CFBundleVersion
เจชเฉเจฐเจพเจฎเฉเจเจฐ $ipaUrl
*.ipa เจซเจพเจเจฒ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจ เจฒเจ เจธเจฟเฉฑเจงเจพ เจฒเจฟเฉฐเจ เจธเจผเจพเจฎเจฒ เจเจฐเจฆเจพ เจนเฉเฅค iOS เจฆเฉ เจธเฉฑเจคเจตเฉเจ เจธเฉฐเจธเจเจฐเจฃ เจคเฉเจ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ HTTPS เจฆเฉเจเจฐเจพ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจ
เฉฑเจ เจตเฉเจ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ, เจฎเฉเจจเฉเจซเฉเจธเจ เจฆเจพ เจซเจพเจฐเจฎเฉเจ เจฅเฉเฉเฉเจนเจพ เจฌเจฆเจฒ เจเจฟเจ เจนเฉ: เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจเจเจจเจพเจ เจฒเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจพเจฒเฉ เจฌเจฒเจพเจ เจเจฟเจตเฉเจ เจเจฟ
<images>
<image>...</image>
</images>
เจเจธ เจคเจฐเฉเจนเจพเจ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจฒเจ, เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจฒเจฟเฉฐเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจธเจงเจพเจฐเจจ HTML เจชเฉฐเจจเจพ เจเจพเจซเจผเฉ เจนเฉ:
itms-services://?action=download-manifest&url=https://$ServerUrl/$ProjectName/$Instance/iOS/$AppVersion/manifest.plist
เจตเจฟเจเจพเจธ เจ เจคเฉ เจเฉเจธเจเจฟเฉฐเจ เจตเจฟเจญเจพเจเจพเจ เจฆเฉเจเจ เจฒเฉเฉเจพเจ เจฒเจ, เจชเจฒเฉเจฐเฉเจ เจฎ เจจเฉ เจเจชเจฃเฉ เจฌเจฟเจฒเจก เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจ เจนเฉ, เจเฉ เจธเจพเจจเฉเฉฐ เจฆเจฟเฉฐเจฆเฉ เจนเฉ:
- เจเฉเจฆเจฎเฉเจเจคเจฟเจเจฐเฉ เจ เจคเฉ เจธเฉเจคเฉฐเจคเจฐเจคเจพ,
- เจชเจนเฉเฉฐเจ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฆเจพ เจเฉเจเจฆเจฐเฉเจเจฐเจจ เจ เจคเฉ "เจ เจธเจฅเจพเจ" เจเจคเฉเจธเจผเฉเจฒ เจคเฉเจฐ 'เจคเฉ เจฌเจฃเจพเจ เจฒเจฟเฉฐเจเจพเจ เจฆเฉเจเจฐเจพ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฆเฉ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจธเจฅเจพเจชเจจเจพ,
- เจตเจฟเจธเจคเจพเจฐเจฏเฉเจ เจเจพเจฐเจเจธเจผเฉเจฒเจคเจพ (เจญเจพเจต, เจตเจฟเจเจพเจธ เจเฉเจฎ, เจเฉ เจฒเฉเฉ เจนเฉเจตเฉ, เจเฉฑเจ เจฎเฉเจเฉเจฆเจพ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจตเจฟเฉฑเจ เจเฉเฉฐเจฎ เจซเฉฐเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจเจเฉเจเฉเจฐเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ)เฅค
เจเฉเจธเจเจฟเฉฐเจ
เจนเฉเจฃ เจ
เจธเฉเจ เจตเจฐเจคเจฆเฉ เจนเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจชเฉเจฐเฉ-เจฐเจฟเจฒเฉเจเจผ เจเฉเจธเจเจฟเฉฐเจ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจพเจเจเฉ
เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจ เจฒเจ เจฒเฉเฉเฉเจเจฆเฉเจเจ เจธเจผเจฐเจคเจพเจ เจเจช เจธเจเฉเจฐ เจฆเฉ เจฆเจธเจคเจเจค เจชเฉเจฐเฉเจซเจพเจเจฒ เจฆเฉ เจเจฟเจธเจฎ เจ เจคเฉ เจคเจฟเจเจฐ เจเฉเจคเฉเจเจ API เจเฉเฉฐเจเฉเจเจ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจนเจจเฅค
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจ เจฆเฉ เจเจ เจคเจฐเฉเจเฉ เจนเจจ:
- เจเจเจธเจเฉเจก (เจเจฐเจเฉเจจเจพเจเจเจผเจฐ) เจฐเจพเจนเฉเจ,
- altool เจฆเฉเจเจฐเจพ,
- Xcode (เจนเฉเจฃ เจเฉเจฐเจพเจเจธเจชเฉเจฐเจเจฐ) เจฆเฉ เจชเฉเจฐเจพเจฃเฉ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจฒเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเฉเจกเจฐ เจฐเจพเจนเฉเจเฅค
เจเจเฉเจฎเฉเจเจฟเจ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจ เจฒเจ, เจ เจฒเจเฉเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจเจฟเจธ เจตเจฟเฉฑเจ เจฆเฉ เจชเฉเจฐเจฎเจพเจฃเฉเจเจฐเจจ เจตเจฟเจงเฉเจเจ เจตเฉ เจนเจจ:
- เจเจช-เจตเจฟเจธเจผเฉเจธเจผ เจชเจพเจธเจตเจฐเจก,
- API เจเฉเฉฐเจเฉเฅค
API เจเฉเฉฐเจเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉเฅค
API เจเฉเฉฐเจเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ, 'เจคเฉ เจเจพเจ
เจ
เฉฑเจเฉ, เจฌเจฟเจฒเจก เจธเจฐเจตเจฐ เจฒเจ เจกเจพเจเจจเจฒเฉเจก เจเฉเจคเฉ เจเฉเฉฐเจเฉ เจจเฉเฉฐ เจเจฏเจพเจค เจเจฐเฉ:
mkdir -p ~/.appstoreconnect/private_keys
mv ~/Downloads/AuthKey_${KeyID}.p8 ~/.appstoreconnect/private_keys/
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ TestFlight 'เจคเฉ เจ เจชเจฒเฉเจก เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจ เจธเฉเจ เจเจน เจเจฎเจพเจเจก เจจเจพเจฒ เจเจฐเจฆเฉ เจนเจพเจ:
xcrun altool
--validate-app
-t ios
-f $(find "$ProjectDir" -name "*.ipa")
--apiKey โ$KeyIDโ
--apiIssuer โ$IssuerIDโ
เจเจฟเฉฑเจฅเฉ apiKey
ะธ apiIssuer
API เจเฉเฉฐเจเฉ เจเจจเจฐเฉเจธเจผเจจ เจชเฉฐเจจเฉ เจคเฉเจ เจซเฉเจฒเจก เจฎเฉเฉฑเจฒ เจนเจจเฅค
เจ
เฉฑเจเฉ, เจธเจซเจฒ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ 'เจคเฉ, เจ
เจธเฉเจ เจเจฎเจพเจเจก เจจเจพเจฒ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเฉเจก เจเจฐเจฆเฉ เจนเจพเจ --upload-app
เจเฉฑเจเฉ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฆเฉ เจจเจพเจฒ.
เจเจชเจฒ เจฆเฉเจเจฐเจพ เจเฉฑเจ เจเจพเจ เจฆเฉ เจฆเจฟเจจเจพเจ เจตเจฟเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจเจพเจเจ เจเฉเจคเฉ เจเจพเจตเฉเจเฉ เจ เจคเฉ เจซเจฟเจฐ เจฌเจพเจนเจฐเฉ เจเฉเจธเจเจฐเจพเจ เจฒเจ เจเจชเจฒเจฌเจง เจนเฉ เจเจพเจตเฉเจเฉ: เจเจนเจจเจพเจ เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจฒเจ เจฒเจฟเฉฐเจ เจเจฎเฉเจฒ เจเฉเจคเฉ เจเจพเจฃเจเฉเฅค
altool เจฆเฉเจเจฐเจพ เจเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจ เจฆเจพ เจเฉฑเจ เจนเฉเจฐ เจคเจฐเฉเจเจพ เจนเฉ เจเจช-เจตเจฟเจธเจผเฉเจธเจผ เจชเจพเจธเจตเจฐเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพเฅค
เจเจช-เจตเจฟเจธเจผเฉเจธเจผ เจชเจพเจธเจตเจฐเจก เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจธ 'เจคเฉ เจเจพเจฃเจพ เจชเจตเฉเจเจพ
เจ
เฉฑเจเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจธ เจชเจพเจธเจตเจฐเจก เจจเจพเจฒ เจเฉเจเฉเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจฌเจฟเจฒเจก เจธเจฐเจตเจฐ เจฐเจฟเจเจพเจฐเจก เจฌเจฃเจพเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค Xcode เจฆเฉ เจธเฉฐเจธเจเจฐเจฃ 11 เจคเฉเจ เจเจน เจเจฎเจพเจเจก เจจเจพเจฒ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ:
xcrun altool --store-password-in-keychain-item "Altool" -u "$DeveloperName" -p $AppPswd
เจเจฟเฉฑเจฅเฉ:
$DeveloperName
โ เจเจชเจฒ เจธเฉเจตเจพเจตเจพเจ เจตเจฟเฉฑเจ เจฒเฉเจเจเจจ เจเจฐเจจ เจฒเจ เจตเจฐเจคเฉ เจเจพเจฃ เจตเจพเจฒเฉ iOS เจกเจฟเจตเฉเจฒเจชเจฐ เจเจพเจคเฉ เจฆเจพ เจจเจพเจฎเฅค
$AppPswd
- เจเจช-เจตเจฟเจธเจผเฉเจธเจผ เจชเจพเจธเจตเจฐเจก เจคเจฟเจเจฐ เจเฉเจคเจพเฅค
เจ เฉฑเจเฉ, เจ เจธเฉเจ asc-provider เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฆเจพ เจฎเฉเฉฑเจฒ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจฎเจพเจเจก เจจเจพเจฒ เจชเจพเจธเจตเจฐเจก เจเจฏเจพเจค เจฆเฉ เจธเจซเจฒเจคเจพ เจฆเฉ เจเจพเจเจ เจเจฐเจฆเฉ เจนเจพเจ:
xcrun altool --list-providers -u "$DeveloperName" -p "@keychain:Altool"
เจธเจพเจจเฉเฉฐ เจเจเจเจชเฉเฉฑเจ เจฎเจฟเจฒเจฆเฉ เจนเฉ:
Provider listing:
- Long Name - - Short Name -
XXXXXXX XXXXXXXXX
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ, เจฒเฉเฉเฉเจเจฆเจพ เจเฉเจเจพ เจจเจพเจฎ เจฎเฉเฉฑเจฒ (asc-เจชเฉเจฐเฉเจตเจพเจเจกเจฐ) $TeamID เจชเฉเจฐเจพเจฎเฉเจเจฐ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเจพ เจนเฉ เจเฉ เจ เจธเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจเจฃ เจตเฉเจฒเฉ เจตเจฐเจคเจฟเจ เจธเฉเฅค
เจเฉเจธเจเจซเจฒเจพเจเจ เจตเจฟเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจเจฐเจจ เจ เจคเฉ เจฒเฉเจก เจเจฐเจจ เจฒเจ, เจเจฎเจพเจเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉ:
xcrun altool
--(validate|upload)-app
-f $(find "$ProjectDir" -name "*.ipa")
-u "$DeveloperName"
-p "@keychain:Altool"
เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฎเฉเฉฑเจฒ เจฆเฉ เจคเฉเจฐ 'เจคเฉ -p
เจคเฉเจธเฉเจ เจฎเฉเฉฑเจฒ เจฒเฉ เจธเจเจฆเฉ เจนเฉ $AppPswd
เจเฉเจฐ-เจเจจเจเฉเจฐเจฟเจชเจเจก (เจธเจชเฉฑเจธเจผเจ) เจฐเฉเจช เจตเจฟเฉฑเจเฅค
เจนเจพเจฒเจพเจเจเจฟ, เจเจฟเจตเฉเจ เจเจฟ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฆเฉฑเจธเจฟเจ เจเจฟเจ เจนเฉ, เจเจพเจฐเจเฉเจเจผเจพเจฐเฉ เจฆเฉ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจคเฉเจ, เจ เจฒเจเฉเจฒ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจฒเจ API เจเฉเฉฐเจเฉ เจฆเฉ เจเฉเจฃ เจเจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉ, เจเจฟเจเจเจเจฟ เจเจเจธเจเฉเจก เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจตเจฟเฉฑเจ เจเฉเจ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจนเจจ (เจเฉเจเฉเจจ, เจ เจชเจฒเฉเจก เจฆเฉเจฐเจพเจจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจเจฒเจคเฉเจเจ, เจเจฆเจฟ)เฅค
เจเจน เจธเจญ เจนเฉ, เจ
เจธเจฒ เจตเจฟเฉฑเจ. เจฎเฉเจฐเฉ เจเจพเจฎเจจเจพ เจนเฉ เจเจฟ เจเจช เจธเจเฉเจฐ เจตเจฟเฉฑเจ เจธเจซเจฒ เจฌเจฟเจฒเจก เจ
เจคเฉ เจธเจฎเฉฑเจธเจฟเจ-เจฎเฉเจเจค เจฐเฉเจฒเฉเจเจผ เจธเจผเจพเจฎเจฒ เจนเฉเจฃเฅค
เจธเจฐเฉเจค: www.habr.com