- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 iPad 应用程序,它使用完整数据保护来加密应用程序的内容,除非设备已解锁并运行。这是客户要求的,并且按预期工作。
第二个业务需求是我们在后台运行一些 Web 服务调用。这是使用新的 application:performFetchWithCompletionHandler
完成的。在 iOS 7 中可用。我需要从本地 SQLite 数据库中提取一些数字来与 Web 服务的结果进行比较,以便了解是否需要启动后台下载。这是失败的。
有没有办法配置数据保护,以便我的应用程序可以在后台读取 SQLite 数据库?
可以逐个文件设置权限吗?
如果做不到这一点,任何人都可以提出解决方法吗? NSUserDefaults? plist 文件?还有什么?
谢谢。
最佳答案
在 NSFileProtectionComplete
时,您无法从 sqlite 数据库中读取数据。已启用且设备已锁定。然而,Apple 在 2013 年 WWDC 视频“What's New with Multitasking”@https://developer.apple.com/videos/wwdc/2013/ 中描述了如何处理这种情况。在 44:00 左右。
因为你的 SQLite 文件设置为 NSFileProtectionComplete
,您无法在设备锁定时对其进行写入或读取。您应该做的是将任何新数据(在设备锁定时在后台下载)写入磁盘上的单独文件,级别为 NSFileProtectionCompleteUnlessOpen
。 .这将允许您将数据写入磁盘,并且在您关闭文件时数据将受到保护。当 protected 数据可用(设备已解锁)时,您应该将数据合并到您的数据库中。
您可能想尝试在磁盘上创建一个文件,其中包含确定何时发出新数据请求所需的信息。如果将此文件设置为级别 NSFileProtectionCompleteUntilFirstUserAuthentication
当设备被锁定时,您应该仍然可以阅读它。
关于iOS 完整数据保护 + 应用程序 :performFetchWithCompletionHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22481894/
引用 iOS 7 的后台获取功能。 我想知道以下内容如何影响 performFetchWithCompletionHandler叫做: 用户行为 应用程序使用 应用使用频率 (iOS 如何确定您经常使
如果设备未连接到互联网,UIApplicationDelegate 是否会调用 performFetchWithCompletionHandler?在这种情况下,文档并不清楚。 最佳答案 经过一些测试
这是我的应用委托(delegate) (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NS
1)我的plist配置提供backgroundmode: UIBackgroundModes fetch 2) 在 didFinishLaunchingWithOptions 我有: [[
我有一个 iPad 应用程序,它使用完整数据保护来加密应用程序的内容,除非设备已解锁并运行。这是客户要求的,并且按预期工作。 第二个业务需求是我们在后台运行一些 Web 服务调用。这是使用新的 app
即使应用程序在后台,我的应用程序也希望每 5 秒更新一次有关用户位置的服务器。我为它实现了后台获取。 func application(application: UIApplication, didF
我正在尝试在 中添加日历事件 -(void)application:(UIApplication *)application performFetchWithCompletionHandler:(vo
要找到一个明确的答案是非常困难的;在 Apple 文档中找不到它,并且在搜索过去的问题后找不到明确的是/否。 问题很简单 - 如果应用程序请求在 N 次后执行后台提取,则用户终止该应用程序。操作系统是
在 performFetchWithCompletionHandler 中,所有的 http 请求是否必须在主 ui 线程或后台线程中完成? 最佳答案 您应该在后台线程中执行 HTTP 请求。如果您收
我想在某个时间间隔内执行一些操作。但是当应用程序处于后台或非事件状态时,这不应该发生。我已经按如下方式实现了这一点 func application(_ application: UIApplicat
我知道 performFetchWithCompletionHandler 旨在用于通过网络在后台获取数据,但我可以用它来获取不需要网络连接的数据吗?例如,我想使用 M7 运动协处理器从 CoreMo
我有点困惑 performFetchWithcompletionHandler参与 iOS 应用程序生命周期。在文档中提到它给了我们 30 秒的时间来下载任何数据,但我们的应用程序会在那时卡住 30
我有一个应用可以成功获取并显示我想添加后台获取的 RSS 源。我收到:线程 1 EXC_BAD_ACCESS(代码=1,地址=0x10),如下所示。 在应用委托(delegate)中: - (BOOL
在 Xcode 7.0.1 中,“模拟背景”获取命令导致 performFetchWithCompletionHandler 被触发两次。 这是 Xcode 调试错误吗,或者这可能发生在运行应用程序发
我为后台获取实现了 performFetchWithCompletionHandler。我有本地通知设置,可以在数据发生变化时触发。出于测试目的,即使数据没有变化,我也会触发通知,这样我就知道一切正常
如何在 Swift 中为后台提取调用完成处理程序。我执行以下操作: func application(application: UIApplication, performFetchWithC
我有一个应用程序可以借助 Background Fetch 在后台获取内容。 因此,如果发生后台提取,我的 application:performFetchWithCompletionHandler:
我实现了 performFetchWithCompletionHandler(即:background fetch)从服务器下载一些数据。 为此,在 performFetchWithCompletio
我在下面的模拟器中调用这个函数来模拟后台获取。 然后我在日志中收到这个警告: Swift Warning: Application delegate received call to -applica
我是一名优秀的程序员,十分优秀!