升级到 Xcode 11.4.1、VS Mac 8.5.4 和 Xamarin.iOS 13.16 后无法创建 IPA 存档

Failed to create IPA archive after upgrade to Xcode 11.4.1, VS for Mac 8.5.4, and Xamarin.iOS 13.16

升级到 Mac、Xamarin 和 Xcode 的最新版本 Visual Studio 后,我无法创建签名的 IPA 存档。一切都在模拟器上运行,一切都在我的发布配置中构建良好。我什至可以很好地创建存档。但是在我点击 "Sign and Distribute" 之后,无论我是尝试发布到 App Store 还是只是将 IPA 保存到磁盘,我都会收到非常通用的 "Failed to create IPA archive" 消息,没有关于失败原因的其他详细信息。

对于这些类型的问题,这在我上次尝试发布时(2 个月前)有效。即使尝试在我之前成功发布到 App Store 的存档上使用 "Sign and Distribute" 也会失败,并显示相同的消息。是否有任何日志可以让我确切地看到失败的原因?屏幕底部的存档输出 window 不显示此过程阶段的 activity。

更新:

找到日志后,能够看到以下错误,表明由于某种原因在升级应用程序后,创建 zip 存档的权限以某种方式丢失:

zip -r -y "/Applications/Xcode.app/MyApp.ipa" Payload
zip I/O error: Permission denied
zip error: Could not create output file (/Applications/Xcode.app/MyApp.ipa)
zip exited with code 15
ERROR:Failed to create IPA archive.
Finshed

所以现在问题变成了为什么,以及需要采取什么步骤来以正确的方式解决这个问题(即,不仅仅是暴力强制获得广泛的权限)?

Are there any logs for this where I can see exactly what is failing?

找到Mac logs通过:

您可以 select Finder 中的 Go > Go to Folder 菜单项,然后将这些路径中的任何一个复制并粘贴到对话框中。

Visual Studio 对于 Mac

  • ~/Library/Logs/VisualStudio/7.0(这个数字可能会根据 您正在使用的版本)
  • 这个文件夹也可以通过"Help -> Open Log Directory"打开。

如果您在日志中遇到 Permission denied 错误,这可能是因为将 IPA 保存在 XCode.App 文件夹中。你可以 try a different location.

如果您仍然遇到问题,可以在 visual studio 内发送 feed back 以获得更多帮助。

这很可能是由于压缩存档时的权限问题。

检查是否属于您的情况:

  • 打开 ~/Library/Logs/VisualStudio/7.0Visual Studio 中的日志文件夹以获得 Mac 帮助 > 打开日志目录
  • 查找并打开最后一个日志文件进行发布(如Publishing.yyyy-mm-dd__hh-mm-ss.log

滚动到该文件的最后一行。如果它包含类似这样的内容(请参阅下面的块),那么就是您的情况

zip I/O error: Permission denied
zip error: Could not create output file (/Applications/Xcode.app/YourApp.ipa)
zip exited with code 15
ERROR:Failed to create IPA archive.
Finished

在这种情况下,一旦您看到输出 IPA 文件 弹出窗口,只需选择其他保存位置(例如桌面