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

2024-07-04

Good day

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

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

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

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

Thanks


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

[[NSFileManager defaultManager] setAttributes:@{NSFileProtectionKey:NSFileProtectionNone} ofItemAtPath:[GlobalProvider tmpFolder] error:NULL];
[[NSFileManager defaultManager] setAttributes:@{NSFileProtectionKey:NSFileProtectionNone} ofItemAtPath:[GlobalProvider documentsFolder] error:NULL];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当使用密码锁定屏幕时,iOS 应用程序无法在后台访问文件 的相关文章

  • 更改“关闭”状态下 UISwitch 的颜色

    我了解到我们可以更改 UISwitch 按钮在 打开 状态下的外观 但是否也可以在 关闭 状态下更改 UISwitch 的颜色 我的 swift2解决方案 let onColor your on state color let offCol
  • 仅从 GPS 获取 iPhone 上的位置 - 而不是 wifi 网络

    我正在创建一个使用位置的应用程序 一切都很顺利 除了一件事 当我回到家时 我的 iPhone 连接到我的本地 wifi 网络 而不是使用手机中的 GPS 获取我的位置 而是尝试通过找出我的 wifi 网络连接到的位置来获取位置 如果我关闭
  • Phonegap 应用程序性能与本机应用程序性能

    我们正在考虑构建一个条形码扫描应用程序 我们正在考虑使用 PhoneGap 但我们唯一担心的是速度 该应用程序要做的只是扫描条形码并检查服务器以查看其是否有效 该应用程序非常频繁地使用相机通过图像扫描条形码 我的主要问题是 通过phoneg
  • 在 UIPageViewController 中,当“pageViewController:viewControllerBeforeViewController”被调用时?

    我尝试在中显示照片UIPageViewController 首先 我在集合视图中显示我的照片 然后点击一张照片进入页面视图 然而 当我在页面视图中时 如果我滚动当前照片 向右或向左 我发现两者pageViewController viewC
  • RestoreCompletedTransactions() 没有调用 paymentQueue UpdatedTransactions?

    我在 Swift 4 iOS 11 中恢复 IAP 时遇到问题 我的AppDelegate实施SKPaymentTransactionObserver In AppDelegate s didFinishLaunchingWithOptio
  • 上传时防止空闲状态(iOS 上的 Web 应用程序)

    我正在构建一个将在移动和桌面上使用的网络应用程序 在 iOS 上进行测试后 我注意到我的手机将进入空闲状态 屏幕关闭 返回时显示锁定屏幕 即使有是一个正在上传的文件 ajax上传 有什么办法可以防止这种情况发生吗 我正在通过将应用程序作为
  • Xcode 6 具有 Swift 超慢打字和自动完成功能

    是只有我还是 Xcode 6 6 0 1 with Swift 似乎是超级慢当您键入代码时 尤其是使用自动完成功能时 一个普通的 Objective C 类 即使在 Swift 项目中 工作原理也几乎和以前一样 所以是 Swift 杀死了它
  • 如何在 Titanium 中向 TableView 部分追加一行?

    我正在使用 Titanium 开发 iPhone 应用程序 并且需要将一行附加到特定的表格视图部分 https developer appcelerator com apidoc mobile 1 0 Titanium UI TableVi
  • 如何在 MKMapView iOS 中显示多个注释?

    我是 iOS 开发新手 我想在 iOS 中的 MKMapViewController 中显示多个注释 为此我在 viewDidLoad 方法中编写了代码 void viewDidLoad super viewDidLoad self map
  • iPhone 上的图像处理

    我想对 iPhone 拍摄的照片进行图像处理 该处理将涉及二维矩阵卷积等 我担心嵌套的性能NSArrays会很糟糕 操作基于像素的图像的正确方法是什么 我应该简单地使用分配的 C 数组吗malloc 你有没有看过石英二维 http deve
  • 导航栏标题视图对齐

    我希望我的导航栏在中间显示两件事 其中之一是列表名称 另一个是用户名称 用户名将放置在列表名称下 到目前为止我所做的是 我以编程方式创建了两个标签和一个超级视图 并设置titleView of navigationItem override
  • 像 peek and pop 一样手动振动 iPhone 6S?

    如何手动触发类似单击的振动 就像使用 peek pop 或应用程序快捷方式时发生的振动一样 这个方法很容易实现 而且效果非常好 我自己尝试过 import AudioToolbox AudioServicesPlaySystemSound
  • 如何在 Swift 中观察多个节点中 Firebase 子值的变化?

    我的 Firebase 数据库中有一个 用户 节点 其中的每个用户都有一个 root 及其 uid 每个用户的属性之一是 坐标 我想观察所有用户的任何坐标的任何变化 我几乎需要这样的东西 usersDatabaseReference chi
  • 不要在 iOS 上显示蜂窝数据警告

    如果用户决定不允许应用程序在每次尝试打开应用程序时访问蜂窝数据 则会显示一条警告 告诉他们蜂窝数据已关闭 SDK中有没有办法停止显示此消息或控制其显示的时间 位置 如果您在权限被撤销的情况下尝试访问互联网 系统将显示此消息 为了防止它出现
  • 命令 /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang 失败,退出代码 1

    我正在尝试使用 Xcode 4 3 中的 pdf 套件执行一个读取 pdf 的应用程序 但它给了我以下错误 ld duplicate symbol OBJC METACLASS OverlayManager in Users dt4it L
  • iOS Swift:谷歌登录错误

    我正在关注this https developers google com identity sign in ios sign in ver swift before you begin使用 swift 在我的 iOS 应用程序中添加 go
  • RestKit:如何获取简单的 JSON 字符串数组?

    我应该如何使用 RestKit 来获取像这样的 JSON 字符串数组 Paris London Brussels New York 我尝试进行对象映射 但由于没有关键路径或属性 我不知道要映射什么 我什至不需要映射 结果可能只是一个数组或字
  • iOS 版本的 Fragment

    谁能告诉我在 Xcode iPhone 中执行以下操作的最佳方法是什么 我有一个主导航屏幕 上面有一些按钮 当用户单击任何按钮时 他们将进入带有更多选项按钮的子导航屏幕 在这里 他们单击任意按钮 就会看到选项列表 单击任何列表选项都会向用户
  • 同时在不同层中使用多个 CAKeyframeAnimation

    现在有人知道如何使用 CAKeyframeAnimation 同时对多个图层进行动画处理吗 每个层都有自己的 CAKeyframeAnimation 对象 看看下面的代码 我有一个接收对象 创建 CAKeyframeAnimation 并将
  • iOS 7 AVPlayer AVPlayerItem 持续时间在 iOS 7 中不正确

    我的应用程序中有以下代码 NSURL url NSURL fileURLWithPath self DocDir stringByAppendingPathComponent self FileName isDirectory NO sel

随机推荐