我在Mac App Store中,显示一些图形编写程序时。偶尔会更新这些关闭互联网。与大多数人一样,我现在不得不Sandbox我的应用程序。“sandboxd:拒绝文件的写入创建”写入应用程序本身的包
几乎一切正常,但在更新时,它保存在我的应用程序本身的包文件和失败,“sandboxd:拒绝文件的写入创建”
我只是使用的fopen(...,“WB” )
送入的fopen路径是: /Users/MyUser/Library/Developer/Xcode/DerivedData/MyApp-czuwveatgjffaggwqjdqpobjqqop/Build/Products/Debug/My.app/Contents/Resources/the_file.foo
:使用创建的路径
我做得显然是错误的吗?我的应用程序是多平台,所以我会继续使用fopen/etc。据我了解,应该允许应用程序写入自己的包,即使它被阻止在别处做任何事情?
谢谢!
100%正确,但你永远不应该写为您的应用程序包的另一个原因是,你会失效代码签名。 (是的,你可以在留有空隙什么密封,并写入到这些差距,或编辑自己之后,你甚至可以重新签上你的包,但显然你不应该这样做。) – abarnert
谢谢!对不起,延迟回复。有趣的是,在退出时编写一个设置文件似乎没有触发沙箱的任何问题。 –