如何使用 Xcode 11 从命令行上传到 App Store



以前,在 Xcode 10 中,我们使用altool上传到 App Store:

ALTOOL="/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool"
"$ALTOOL" --upload-app --file "$IPA_PATH" --username "$APP_STORE_USERNAME" --password @keychain:"Application Loader: $APP_STORE_USERNAME"

但是在 Xcode 11 中,"Application Loader.app"不再存在,作为 Xcode 11 更改的一部分:

Xcode 支持从管理器窗口或使用 xcodebuild 或 xcrun altool 从命令行上传应用程序。Application Loader 不再包含在 Xcode 中。(29008875(

那么我们现在如何从命令行上传到TestFlight或App Store呢?

使用 Xcode 11 作为命令行工具,要验证或上传 ipa,请将 altool 替换为 xcrun altool

xcrun altool --validate-app --file "$IPA_PATH" --username "$APP_STORE_USERNAME" --password @keychain:"Application Loader: $APP_STORE_USERNAME"
xcrun altool --upload-app --file "$IPA_PATH" --username "$APP_STORE_USERNAME" --password @keychain:"Application Loader: $APP_STORE_USERNAME"

获取有关xcrun altool --help的更多帮助。

使用命令行工具,

xcrun altool --upload-app -f path -u username -p password

如果您的Apple帐户使用双因素身份验证,则您的密码将是错误的,您需要转到 https://appleid.apple.com/account/manage "Security - Generate Password"以获取密码

如果你有其他错误,你可以添加--verbose来打印详细错误日志,就像

xcrun altool --upload-app -f path -u username -p password --verbose

并且,获取有关xcrun altool --help的更多帮助

至少从 Xcode 11 开始,作为导出工作流程的一部分,这可以通过 xcodebuild 非常容易和直接地完成。 只需创建一个 exportOptions.plist 文件,该文件为"目标"键指定"上传",为"方法"键指定"应用商店"。 下面是一个示例,但当然要根据您的需求进行调整:

<?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>
        <true/>
        <key>destination</key>
        <string>upload</string>
        <key>method</key>
        <string>app-store</string>
        <key>provisioningProfiles</key>
        <dict>
                <key>YOUR_BUNDLE_ID</key>
                <string>YOUR_PROFILE_NAME</string>
        </dict>
        <key>signingCertificate</key>
        <string>YOUR_CERT_NAME</string>
        <key>signingStyle</key>
        <string>manual</string>
        <key>stripSwiftSymbols</key>
        <true/>
        <key>teamID</key>
        <string>YOUR_TEAM_ID</string>
        <key>thinning</key>
        <string>&lt;none&gt;</string>
</dict>
</plist>

一旦你有了这个,将存档上传到应用商店连接的命令非常简单,使用 xcodebuild exportArchive 命令:

    xcodebuild -exportArchive 
               -archivePath PATH_TO_APP_ARCHIVE 
               -exportPath OUTPUT_PATH 
               -exportOptionsPlist exportOptions.plist

如果你想知道你的PATH_TO_ARCHIVE在哪里,首先只需使用 xcodebuild archive 命令,例如:

    xcodebuild -sdk iphoneos 
               -workspace myWorkspace.xcworkspace 
               -scheme myScheme 
               -configuration Release 
               -archivePath PATH_TO_ARCHIVE archive

您现在还可以使用Apple名为"Transporter"的新应用程序这是Xcode应用程序加载器的替代品。

另一种验证/上传 .ipa 的方法,而不必每次都生成一次密码:

  • 前往应用商店连接控制台
  • 生成 API 密钥。然后下载密钥(.p8(并复制Issuer IDKEY ID

要验证运行,请执行以下操作:

xcrun altool --validate-app -f {YOURAPP}.ipa -t ios --apiKey {YOUR KEY ID} --apiIssuer {YOUR ISSURE ID}

要上传到应用商店,请运行:

xcrun altool --upload-app -f {YOURAPP}.ipa -t ios --apiKey {YOUR KEY ID} --apiIssuer {YOUR ISSURE ID}

相关内容

  • 没有找到相关文章

最新更新