即使已配置正确的背景模式,iOS背景提取也不起作用

a43*_*511 32 xcode background-process ios swift

我的应用程序启用了后台获取背景模式并且我验证了plist包含适当的获取模式.

我还配置了如下间隔:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    application.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我已经添加了处理程序如下:

func application(application: UIApplication, performFetchWithCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
    // Get some new data here
    completionHandler(UIBackgroundFetchResult.NewData);
}
Run Code Online (Sandbox Code Playgroud)

我尝试去调试 - >模拟背景提取,但不管它从未进入过什么performFetchWithCompletionHandler.我还尝试在一个方案下运行应用程序,该方案选中了"由于后台获取事件而启动"选项.在这种方案下运行只需在模拟器中像往常一样启动应用程序而不需要调用performFetchWithCompletionHandler.

有任何想法吗?

谢谢!

编辑:这似乎正在影响我的应用程序的发布版本,所以它可能不会被隔离到模拟器.我正在运行Swift 1.2.

编辑2:我的错误报告刚刚关闭,因为它是另一个错误报告的副本,概述了同样的问题.仍然没有确认问题与模拟器隔离的信息.

编辑3:没有提到Xcode 6.4 Beta 2发行说明中的​​修复程序.:-(

Tob*_*ias 28

这是我发现测试后台提取的唯一方法.

  1. 编辑你的计划
  2. 选择运行
  3. 选择选项
  4. 选中"由于后台获取事件而启动"选项
  5. 插入iOS设备并在其上运行应用程序.它在iOS模拟器中不起作用.

步骤2-4的视觉


ode*_*ens 3

查看 XCode 发行说明:https://developer.apple.com/library/ios/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html

“Xcode 菜单命令模拟器后台获取不起作用。

请改用 iOS 模拟器中的菜单命令。(20145602)”