【问题标题】:macOS App notarisation stuck during uploadmacOS 应用公证在上传期间卡住
【发布时间】:2019-09-09 21:43:18
【问题描述】:

我有一个简单的、基于 Swift 的 macOS 应用程序,用 Xcode 编写和维护,我现在想通过 Apple 的 Developer-ID“公证”服务运行它以进行分发。但是,每当我尝试上传应用程序的存档构建时,Xcode 都会卡在该过程的"Uploading package to Apple Services..." 步骤。

我的流程如下:
- 在 Xcode 中“构建 --> 存档”
- 在 Xcode 的 Organizer 中:Distribute App --> Developer ID --> Upload --> Automatic Code Signing - 现在上传时会出现此问题。

我已经尝试过对一个简单的示例应用程序进行公证,除了标准 Swift macOS 项目模板所包含的代码之外没有任何代码,并且该应用程序也卡在了这一步。 (所以这应该消除我项目本身的代码/二进制文件的问题。)

我还尝试使用xcrun altool 将我的二进制文件上传到公证服务,使用以下命令:xcrun altool --notarize-app --primary-bundle-id "com.me.myapp" --username "myuser@memyselfandi" --password "mypasswd" --file myfile.zip
这里的结果是相似的:该命令没有输出并挂起。

每次我尝试上传到 Apple 服务时,我还注意到一个名为 ascp 的进程正在上传大量数据,是我尝试上传到 Apple 的存档大小的许多倍。我不能 100% 确定这可能是如何相关的,但是当通过 Organizer 或 xcrun altool 命令上传时,该过程总是会出现。

我正在使用 Xcode 10.2.1 和 macOS Mojave 10.14.4。

【问题讨论】:

    标签: xcode macos app-store-connect notarize


    【解决方案1】:

    @Tochiji 指出了正确的方向,这是我的问题的解决方法:

    我的网络或 ISP 似乎在 Apple 选择用于上传到公证服务的传输协议方面存在问题。通过使用 Little Snitch 查看ascp 的流量,我得出了这个结论。该程序正在从端口33001 向多个.apple.com 域上传和下载数据包。但是,它永远不会“到达任何地方”并且上传仍然卡住,这让我相信我的 ISP 不支持在端口33001 上运行的"Aspera" 协议存在问题。

    previous answers on similar issues 之后,我在禁用 Aspera 协议的情况下使用 Application Loader 测试了上传到 Mac App Store,果然,上传通过了。

    问题是:Application Loader 不支持上传到 Developer-ID 公证系统,并且 Xcode 的集成上传器没有与 Application Loader 相同的选项。

    我的解决方法如下:
    使用 Little Snitch(或任何其他称职的 macOS 防火墙)我现在阻止端口 33001 上的所有连接

    这样,Xcode 可以检测到 Aspera 不是一个选项,并选择一个运行良好的后备协议。使用此解决方法,即使在限制性防火墙之后/使用做出有趣决定的 ISP,也可以上传到 Developer-ID 公证服务。

    【讨论】:

      【解决方案2】:

      如果您的防火墙阻止了除 HTTPS 之外的传输端口,以下答案可能会对您有所帮助。

      itunesconnect using application loader behind a firewall

      Upload iOS App to AppStore using port 443

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-24
        • 2021-06-29
        • 1970-01-01
        • 2021-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-11
        相关资源
        最近更新 更多