gpt4 book ai didi

当使用密码锁定屏幕时,IOS 应用程序无法在后台访问文件

转载 作者:可可西里 更新时间:2023-11-01 06:14:17 25 4
gpt4 key购买 nike

美好的一天

我有一个 IOS 消息传递应用程序。该应用程序将接收和发送的消息存储在 sqlite3 数据库中,该应用程序还会生成日志文件。这可以发生在前台或作为后台任务

当 IOS 设备上的密码被禁用时,一切正常。日志文件被创建并且数据库条目可以在任何操作模式下成功插入,即使屏幕关闭并且应用程序最小化也是如此。

当 Iphone 的屏幕被密码锁定时,应用程序似乎无法访问任何文件。我的日志文件指针保持为空,当我尝试添加到数据库时出现此错误:“sqlite_exec() -> 磁盘 i/o 错误。”

数据保护功能被禁用。我正在使用后台获取和 voip 功能来执行后台任务。处理数据库和日志文件的代码是用 C 语言编写的,并单独编译。

谢谢

最佳答案

当手机被密码锁定时,iOS 会加密文件。因此,如果您确实需要在应用程序在后台运行时创建新文件,则需要将要在其中创建文件夹的父文件夹标记为不 protected 。

[[NSFileManager defaultManager] setAttributes:@{NSFileProtectionKey:NSFileProtectionNone} ofItemAtPath:[GlobalProvider tmpFolder] error:NULL];
[[NSFileManager defaultManager] setAttributes:@{NSFileProtectionKey:NSFileProtectionNone} ofItemAtPath:[GlobalProvider documentsFolder] error:NULL];

关于当使用密码锁定屏幕时,IOS 应用程序无法在后台访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30662905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com