gpt4 book ai didi

xcode - macOS 应用公证在上传期间卡住

转载 作者:行者123 更新时间:2023-12-01 07:34:24 25 4
gpt4 key购买 nike

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

This is where Xcode gets stuck for extended periods of time

我的流程如下:
- 在 Xcode 中“构建 --> 存档”
- 在 Xcode 的管理器中:分发应用程序 --> 开发者 ID --> 上传 --> 自动代码签名 - 问题现在出现在上传过程中。

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

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

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

我使用的是 Xcode 10.2.1 和 macOS Mojave 10.14.4。

最佳答案

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

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

正在关注 previous answers on similar issues我在禁用 Aspera 协议(protocol)的情况下使用 Application Loader 测试了上传到 Mac App Store 的情况,果然,上传成功了。

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

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

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

关于xcode - macOS 应用公证在上传期间卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55764900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com