如何在Yosemite中编写沙盒应用程序

时间:2015-10-01 07:00:04

标签: osx-yosemite sandbox

我试图用沙盒为Yosemite编写一个简单的TODO应用程序。 Apple有相同的教程,但它们不是很精细。我想知道像sandbox_init()这样的沙盒API和用于控制台日志的API(听说沙盒应用程序使用了一些特殊的API)。有人可以指点我在Yosemite上使用沙盒的一些开源应用程序,以便我可以看到它正在使用的API。

1 个答案:

答案 0 :(得分:1)

您不需要使用sandbox_init()等来创建沙盒应用。

粗略地说,你需要明白:

  1. 使用API​​查找众所周知的目录,并且不要假设/Users/username/Documents Documents文件夹,例如。
  2. 该应用无法访问用户文件,必须通过NSOpenPanel获取访问权限。
  3. 如果应用想要保留已经获得的访问权限,那么它需要创建和存储书签URL,这些URL可以在以后的调用中重新加载。
  4. 如果沙盒应用程序生成子进程,则该子进程需要它自己的一组权利。
  5. 一旦您了解它通常只是在应用功能中设置使用沙盒并且您已关闭。