我正在努力解决这个问题。
我的应用需要在后台创建一些文件。它创建一个临时文件(在临时文件夹中),然后在/ Documents中创建一个文件夹,其中包含一些文件。
当我的应用程序在调试中编译时,它可以工作。当我在发布中编译它时,并且只有在激活密码时,才会创建第一组文件。第二组只看到在Documents中创建文件夹,但是没有文件可以创建,也不能在临时文件夹中创建,也不能在Documents / newcreated文件夹中创建。
只有在发布时编译应用程序并打开密码时才会发生这种情况。
我想这与数据保护有关,而且在手机锁定时无法创建新文件。是否有一些权利可以让我的应用程序在后台创建和写入新文件并锁定?
答案 0 :(得分:2)
文件被标准iOS文件保护策略锁定,因此在手机锁定后,所有文件都会被加密。我的解决方案是这样的,因为我不需要这些文件的安全性:
[[NSFileManager defaultManager] setAttributes:@{NSFileProtectionKey:NSFileProtectionNone} ofItemAtPath:[GlobalProvider tmpFolder] error:NULL];
[[NSFileManager defaultManager] setAttributes:@{NSFileProtectionKey:NSFileProtectionNone} ofItemAtPath:[GlobalProvider documentsFolder] error:NULL];