xcode - Mavericks 下的 cocoa 收据验证测试 - 问题

标签 xcode macos cocoa osx-mavericks receipt

在 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/

相关文章:

ios - 带有 ScrollView 和超过 5000 个自定义 uiview 的内存警告

javascript - 禁用 Firefox 网络通知的默认警报声音

xcode - 如何在 macOS 下模拟内存不足的情况?

xcode - 键盘无响应

Xcode,包括构建中的外部引用文件夹

c - 编译时出错

macos - iTerm2 或 OSX Lion 终端中的单词跳转

objective-c - ConnectionKit还能用吗?

macos - 如何将 NSColorPicker 添加到应用程序的主窗口?

ios - 使用 ASIHTTPRequest 使用 NSXMLPaerser 解析时为空 TableView 行