在iOS8之后,苹果对应用的沙盒目录进行了修改,将每次打开App的沙盒重新生成,并且将上一次的沙盒文件移到新生成的文件中,旧的文件被删除。即我们使用沙盒保存的文件都在,但是每次打开后,都会有一个新的绝对路径。
因此,iOS8之后存取沙盒文件,要避免使用绝对路径。可以采用一下方法:
保证每次使用类型NSSearchPathForDirectoriesDomains方法去获取Documents文件路径,因为这样获取到的沙盒文件总是你一直在使用的那个,里面的文件会一直存在。
例如:NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
这样就保证了每次获取的路径,都是新的路径,从而避免了绝对路径带来的错误。