Mac 应用因使用我未使用的沙盒授权而被拒绝

Mac App Rejected for Using Sandboxing Entitlement that I am Not Using

我的 Mac App Store 应用程序根据规则被拒绝 2.31:未适当沙盒化的应用程序可能会被拒绝

他们说我的应用程序使用了授权 com.apple.developer.maps,但没有 "matching functionality within the app."

问题是,在我的项目中没有任何地方是地图权利集。

我试过几个版本,所以它不是侥幸。

我已经检查了我的应用程序和我的助手应用程序的目标的功能选项卡,两者都是正确的。我已经检查了主应用程序和辅助应用程序的权利文件,两者都是正确的。

我还采用了我提交给 Apple 的构建并运行:codesign -dvvv --entitlements :- <fileName> 在主应用程序和辅助应用程序的可执行文件上运行,并且都返回了正确的权利。

然后我进入应用程序的主文件夹,在终端中运行:sudo grep -i -r "com.apple.developer.maps" * 没有找到任何东西!为了确保 grep 能找到我要找的东西,我还尝试了:sudo grep -i -r "com.apple.security.files" * 并且 return 得到了正确的权利条目。

如您所见,我找不到启用 com.apple.developer.maps 权利的任何地方,但 Apple 一直拒绝我启用它。

有没有人以前遇到过这样的事情,或者对我可能遗漏的东西有任何想法,或者对接下来如何调试它有任何其他想法?

我以前遇到过同样的问题。我提交了一个应用程序,但因使用权利映射而被拒绝。但是,我从未在权利文件或功能中包含地图。问题不在 xCode 或 Entitlements 文件中。解决方法是去会员中心查看你的 Distribution Provisioning Profile 里面的 App ID。然后转到该应用程序 ID 并在那里禁用地图。这是一个解决方案。

我写了一篇博客 post 来讨论这个问题和解决方案。 它实际上是 post 对另一位开发人员 post 的跟进,因为我想确保人们没有 运行 进入这个确切的问题。

您可以在以下位置找到博客 post,其中包含解决问题的所有解决方案:http://kdbdallas.com/2015/01/24/modern-login-items-gotcha/

那表示解决方案与 Jeffro 所说的很接近,但不完全相同。