【问题标题】:Mac App Store: "***.app" is damaged and can't be openedMac App Store:“***.app”已损坏,无法打开
【发布时间】:2022-02-27 16:54:09
【问题描述】:

我们确实收到了我们的 Mac App Store 版本的客户支持请求,他们报告说只收到警报“Appname”已损坏并且无法打开。删除应用程序并从Mac App Store 不能解决问题。重新启动系统似乎有所帮助,但该错误似乎在一段时间后再次出现。

Mac App Development: "***.app" is damaged and can't be opened 与应用程序的开发和/或测试无关。这似乎在每个不平衡的 macOS 版本上都会中断。

到目前为止,我们无法找到此 Mac App Store 问题的常见原因。

我们正在使用 Apples Receipt Validation Programming Guide 的收据验证码。

【问题讨论】:

    标签: macos cocoa mac-app-store


    【解决方案1】:

    如果在 macOS 中验证失败则退出

    如果在 macOS 中验证失败,则调用状态为 173 的 exit。此退出状态通知系统您的应用程序已确定其收据无效。此时,系统会尝试获取有效收据,并可能会提示用户输入 iTunes 凭据。

    如果系统成功获得有效收据,它会重新启动应用程序。否则,它会向用户显示错误消息,解释问题。

    如果验证失败,不要向用户显示任何错误消息。系统负责尝试获取有效收据或通知用户该收据无效。

    因此,收据验证似乎在有效收据上失败,应用程序调用 exit,状态为 173。系统成功获取收据,重新启动应用程序,应用程序再次调用 exit,状态为 173。

    现在我们看到“Appname”已损坏,无法打开。警告。

    请注意,系统似乎缓存了这个结果,双173退出后,双击应用时不会再尝试启动,只是再次显示警报。

    收据验证错误的原因似乎是缺少 MAC 地址(计算机的 GUID)。

    如果没有变更日志或技术说明,很难准确判断,但根据 Wayback Machine,Apple 似乎在 2021 年 9 月左右的某个时间添加了新的 Validating Receipts on the Device。新代码似乎确实解决问题。

    legacy documentation中的代码相比,新代码不仅查找内置en0,还回退到en1或非内置en0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 2021-04-13
      相关资源
      最近更新 更多