OS X应用程序测试沙箱违规

时间:2014-07-25 03:40:37

标签: macos sandbox mac-app-store

我刚尝试将OSX应用转换为沙盒应用。该应用程序支持10.5以上,并具有手动内存管理功能。转换后,我通过在Xcode 4.3中运行它来测试它。

控制台现在没有显示违规行为。是否足以断定应用程序没有沙箱违规,或者在将应用程序提交到Mac App Store之前是否有任何其他进程来查找沙箱违规?另外,可以按原样保留手动内存管理,还是必须启用ARC?

谢谢。

1 个答案:

答案 0 :(得分:1)

要检查应用程序二进制文件是否为沙箱:

codesign -dvvv --entitlements :- executable_path

To observe sandbox violations during testing

  1. 打开控制台应用程序(位于/ Applications / Utilities /中),并确保在侧栏中选择了所有消息。

  2. 在控制台窗口的过滤器字段中,输入sandboxd以仅显示应用程序沙箱违规。

  3. sandboxd是报告沙箱违规的App Sandbox守护程序的名称。控制台中显示的相关消息类似于以下内容:

  4. sandboxd console logs

    您还可以使用Xcode Organizer的验证向导执行App Store验证检查,而无需将应用程序提交到Mac App Store。这可能会执行一些沙盒检查。

    产品>档案>组织者> "验证..."

      

    另外,可以按原样保留手动内存管理,还是必须启用ARC?

    是的,使用"手动保留释放"发布新应用程序是可以的。 (MRR)而非自动参考计数(ARC)。