在 Mountain Lion 下,一切都运行良好。 Mavericks ,没那么多。
问题:我无法在 Mavericks 下进行任何收据验证测试。
我正在使用 Receigen (Mac App Store/MAS) 生成启动和应用内购买收据验证。 我在 Mavericks 10.9 下使用 Xcode 5.02。
这是它在 Mountain Lion 下的工作方式......
存档应用程序并将其导出到应用程序。 确保您已注销您的个人 MAS ID。稍后您将使用您的 iTunes Connect 测试 ID。 从 Finder 中运行导出的应用程序。
启动应用程序后,会发生以下情况:
• 您的应用程序无法验证其收据,因为不存在收据,并且它以状态173 退出。这是预期的。
• 系统解释退出状态并尝试获取有效收据。假设您的应用程序签名证书有效,系统会为该应用程序安装有效的收据。系统应提示您输入 MAS 凭据。您将在此处使用您的测试帐户。
• 系统重新启动您的应用程序,您的应用程序成功验证收据。
这就是 Mavericks 下发生的事情......
与上面相同 - 存档/测试 MAS ID/Finder 运行应用程序。
但是,现在我在控制台中收到此消息: 退出代码:173 [这应该没问题,就像上面一样] storeagent:未签名的应用程序(路径/到/应用程序)。
???
没有 MAS 凭证。没有什么。 我使用 Organizer/Validate 和 Receigen 对代码签名进行了三次检查。两者都告诉我我的应用程序已正确签名,没有任何问题。
有趣的是,我已将应用程序提交到应用程序商店,并在批准后,它可以工作。因此它已正确签名并且收据验证正在运行。
但是,我无法进行任何收据验证测试。这就是问题所在。
感谢您的宝贵时间。 凯文
最佳答案
在 Receigen 作者 (Laurent Etiemble) 的帮助下,执行以下命令对我有所帮助:
spctl -vvvvv --assess <YourApp>.app
对于我提交给 Apple 的应用,我收到以下消息:
/Path/to/my/app/Tap Forms.app: rejected
要修复它,您需要执行以下操作:
spctl --add --requirement "anchor apple generic and certificate leaf[subject.CN] = \"3rd Party Mac Developer Application: <Your company name> (<Your organization ID>)\"" --label "MAS"
然后,当您执行 spctl -vvvv --assess .app 命令时,您会得到以下结果:
/Path/to/my/app/Tap Forms.app: accepted
source=MAS
origin=3rd Party Mac Developer Application: <Your company name> (<Your organization ID>)
现在我已经重新提交了我的应用程序,我们将看看它是否因无法启动而被拒绝。
关于xcode - Mavericks 下的 cocoa 收据验证测试 - 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20511673/