因此,我已使用performFetchWithCompletionHandler
和setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum
在我的应用中实现了后台提取。
要求:在处理程序中,我正在获取远程数据(1-2秒往返)并与现有数据进行比较以查看是否存在更改。如果存在更改,我会向用户显示本地通知。
测试:即使数据没有变化,我也修改了显示本地通知的要求。 (所以我知道后台提取工作)。
问题:当未连接到以调试或发布模式运行的xcode和应用时,后台提取功能无效。
观察:
在Xcode中,app调试模式使用模拟器,当我做"模拟后台获取"多次,调用处理程序并按预期触发本地通知。我停止运行该应用程序。
在Xcode,app调试模式和连接到xcode的iphone设备上,当我做"模拟后台获取"多次,调用处理程序并按预期触发本地通知。我停止运行该应用程序。
在Xcode中,使用iphone设备的应用程序发布模式(使用新方案),当我在xcode中运行应用程序时,将调用处理程序并首次按预期触发本地通知。我停止运行该应用程序。
我还尝试创建一个特殊的DEBUG和RELEASE方案并通过itunes将它安装在我的设备上,这样我就不必通过xcode运行应用程序了。这似乎也没有任何区别。该通知甚至没有发射一次。
我确实了解后台提取是基于应用使用情况启动的。我一直打开和关闭应用程序并手动刷新应用程序中的数据以显示活动。但是我还没有看到任何本地通知被发射。
为了测试我的设备上的后台提取而不在调试或发布模式下连接xcode,我该怎么办?