Sve*_* E. 3 macos xcode app-store-connect notarize
我有一个简单的、基于 Swift 的 macOS 应用程序,在 Xcode 中编写和维护,现在我想通过 Apple 的 Developer-ID“公证”服务运行该应用程序进行分发。然而,每当我尝试上传应用程序的存档版本时,Xcode 都会卡在"Uploading package to Apple Services..."该过程的步骤中。
我的过程如下:
- 在 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正在上传相当大量的数据,其大小是我尝试上传到 Apple 的存档大小的许多倍。我不能 100% 确定这可能是如何关联的,但通过管理器或命令上传时总是会出现该过程xcrun altool。
我使用的是 Xcode 10.2.1 和 macOS Mojave 10.14.4。
@Tochiji 指出了正确的方向,这是我的问题的解决方法:
我的网络或 ISP 似乎对 Apple 选择上传到公证服务的传输协议存在问题。ascp我通过使用 Little Snitch 查看 的流量得出了这个结论。该程序正在端口上33001从多个.apple.com域上传和下载数据包。然而,它永远不会“到达任何地方”,并且上传仍然卡住,这让我相信我的 ISP 存在问题,不支持"Aspera"端口 上运行的协议33001。
根据之前对类似问题的回答,我测试了使用应用程序加载器在禁用 Aspera 协议的情况下上传到 Mac App Store,果然,上传成功了。
问题是:应用程序加载器不支持上传到 Developer-ID 公证系统,并且 Xcode 的集成上传器没有与应用程序加载器相同的选项。
我的解决方法如下:
使用 Little Snitch (或任何其他有效的 macOS 防火墙),我现在阻止端口 33001 上的所有连接。
这样,Xcode 可以检测到 Aspera 不是一个选项,并选择一个工作正常的后备协议。使用此解决方法,即使在限制性防火墙后面/ISP 做出有趣的决定,也可以上传到 Developer-ID 公证服务。
| 归档时间: |
|
| 查看次数: |
2212 次 |
| 最近记录: |