2010-07-20 145 views
1

iphone/ipad模拟器的权限是否与设备本身不同?我只问,因为我正在尝试使用文件I/O,创建并写入我自己的临时文件失败,但创建和写入到我的Mac上的桌面(来自iPad模拟器)完全没问题。iPhone模拟器上的文件权限

我在做模拟器上创建的tempfile文件时出错了吗?

+0

很难说如果有什么不对的地方没有看到你的代码......你在什么目录下写你的临时文件? – Vladimir 2010-07-20 13:46:47

回答

1

权限不同。在模拟器上,您可以在应用程序的目录之外进行编写,但不能在设备上进行编写。如果您可以在设备上,则更改其他应用程序或攻击操作系统。

+0

非常感谢,这是很好的知道。对于那些希望获得更多帮助的人来说,使用writeToFile而不是writeToURL并在应用程序目录中进行定位可以解决这个问题。 – mtrc 2010-07-21 09:53:04

2

你使用临时目录吗?在模拟器上,NSTemporaryDirectory()返回Mac OS X tmp,它位于应用程序沙箱外的/ var中。

#if TARGET_IPHONE_SIMULATOR 
NSString *tmpPath = [NSHomeDirectory() stringByAppendingPathComponent: @"tmp"]; 
#else 
NSString *tmpPath = NSTemporaryDirectory(); 
#endif