在iOS设备上找不到文件,但在Simulator中找到

时间:2014-03-06 06:48:50

标签: ios

当我在模拟器上运行我的应用程序时,我使用以下代码找到了文件的路径:

{

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
        NSLog(@"%@",basePath);
}

模拟器输出:

file:///Users/username/Library/Application Support/iPhone Simulator/7.0.3/Applications/E7816FF6-7E6A-4606-917E-E74CDB574EC8/Documents/images/20140306113538.png

当我在我的设备中运行时,相同的代码我发现输出:

设备输出:

file:///var/mobile/Applications/2D86A03F-C239-4B57-849F-019BCDCA8543/Documents/images/20140306114536.png

当我检查时,文件存储在文件中。 当我在浏览器中加载这个url时,模拟器的路径(我从模拟器输出获得)在浏览器中加载。 但是设备的路径(我从设备输出得到的)它在浏览器中显示错误而未找到文件。

喜欢:Firefox无法在/var/mobile/Applications/2D86A03F-C239-4B57-849F-019BCDCA8543/Documents/image/20140306114536.png.

找到该文件

只是因为这个原因我无法使用网络服务从我的服务器上的设备发送文件。

Xcode版本:5.0.2

设备:iPhone 4(iOS 7.0.6)

任何人请帮助。

2 个答案:

答案 0 :(得分:1)

因为您尝试从设备加载文件中没有的文件。 您的模拟器目录存在于您的系统中,这就是为什么它从您的系统加载文件。

因此,您可以使用以下软件浏览设备中的文件并将其复制到系统中

iExplorer

答案 1 :(得分:0)

为什么文件夹名称不同

对于模拟器,它是“图像”,对于设备,它是“图像”。

同样密切检查区分大小写,因为我也遇到过类似的资产名称问题。 MAC 文件系统搜索不区分大小写,因此模拟器可能正在查找此文件。而 iOS设备文件系统区分大小写