所以我有一个运行良好的应用程序但是当沙盒被宣布时,我想我可能会开始遵守。在我的应用程序中,用户可以调用python,我一直在做的是stdout和stderr的简单重定向
freopen("error.log","w",stderr);
然后通过
调用Pythonstatus = PyRun_SimpleString(utfString);
从那里我可以简单地回读结果/错误并继续生活。但是对于沙盒,这是不允许的,因为/ dev / stdout和/ dev / stderr不在我的应用程序之外。我尝试在权利中添加临时文件例外:
com.apple.security.temporary-exception.files.absolute-path.read-write => Array
{
Item 0 => /dev/stdout
Item 1 => /dev/stderr
}
但这也无济于事......
有谁知道如何解决这个问题?这段代码工作正常,我理解沙盒,但我想保持python界面简单,快速重定向似乎是我可以接受的;毕竟,每个人都可以写入和阅读stdout / stderr ....
非常感谢任何帮助。
答案 0 :(得分:0)
答案是路径不正确,使用沙箱,重定向很好,但你需要在NSDocumentsDirectory中的文件中进行...所以,如果你开始认为像iOS一样好,没有魔法,回想一下,你需要在应用程序的文档目录中进行编写,并且stdout / stderr的重定向是写入...