我刚尝试将OSX应用转换为沙盒应用。该应用程序支持10.5以上,并具有手动内存管理功能。转换后,我通过在Xcode 4.3中运行它来测试它。
控制台现在没有显示违规行为。是否足以断定应用程序没有沙箱违规,或者在将应用程序提交到Mac App Store之前是否有任何其他进程来查找沙箱违规?另外,可以按原样保留手动内存管理,还是必须启用ARC?
谢谢。
答案 0 :(得分:1)
要检查应用程序二进制文件是否为沙箱:
codesign -dvvv --entitlements :- executable_path
To observe sandbox violations during testing:
打开控制台应用程序(位于/ Applications / Utilities /中),并确保在侧栏中选择了所有消息。
在控制台窗口的过滤器字段中,输入sandboxd
以仅显示应用程序沙箱违规。
sandboxd
是报告沙箱违规的App Sandbox守护程序的名称。控制台中显示的相关消息类似于以下内容:
您还可以使用Xcode Organizer的验证向导执行App Store验证检查,而无需将应用程序提交到Mac App Store。这可能会执行一些沙盒检查。
产品>档案>组织者> "验证..."
另外,可以按原样保留手动内存管理,还是必须启用ARC?
是的,使用"手动保留释放"发布新应用程序是可以的。 (MRR)而非自动参考计数(ARC)。