我想知道如何构建以下场景: - 我有一个可以在 Mac App Store 购买的应用程序 - 由于此应用程序无法使用沙箱(很快我将强制执行),因此我将无法在 Mac App Store 中更新它。 - 我想继续向这些用户提供更新,但这将在 MAS 更新之外 - 如何检查应用程序是否已合法获取?
感谢您的帮助
最佳答案
我这样做是为了让 Mac App Store 客户能够轻松地测试从我的网站下载的应用程序的新版本,同时仍然执行许可。启动我的应用程序的 MAS 版本后,我将其收据复制到/Library/Application Support/MyAppName/中。我的应用程序的非 MAS 版本的 Beta 版本包含与 MAS 版本相同的收据验证代码。他们在应用程序支持文件夹中查找收据,并验证它,如果收据有效,则在许可模式下运行。
我认为 MAS 收据与用于购买/下载应用程序的机器绑定(bind),因此您的用户将无法在计算机之间转移收据。解决此问题的方法可能是向在至少一台计算机上成功验证 MAS 收据的用户颁发常规许可证。这里有作弊的机会,但我认为这与您使用的任何许可方案固有的弱点没有什么不同。
关于cocoa - 在 MAS 之外更新 Mac App Store 应用程序并检查收据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8680447/