1

我在让后台提取工作时遇到问题。请参阅下面的代码。我在 info.plist 中添加了 fetch 作为后台模式。我使用 Debug -> Simulate background fetch 来模拟提取。控制台日志中没有任何输出。我在 swift 中找不到任何好的例子。有谁知道如何让这个工作?

func application(application: UIApplication!, performFetchWithCompletionHandler
        completionHandler: ((UIBackgroundFetchResult) -> Void)!) {

println("Background fetch occured!");
completionHandler(UIBackgroundFetchResult.NewData)
}
4

2 回答 2

2

我整个早上都在为此奋斗,但我有一个不幸的解决方案:

根据Xcode 6 发行说明中的​​“已知问题”部分:

The Xcode menu command Simulator Background Fetch does not work.
Use the menu command in iOS Simulator instead. (20145602)

更重要的是,模拟器中没有选项可以触发它。

我已经对此进行了测试,但它在 Xcode 6.3.1 中仍然是一个问题

于 2015-04-30T18:03:47.400 回答
0

确保在应用程序完成启动后设置最小后台获取间隔。我还将在您的项目的应用程序目标下仔细检查以单击功能并确保背景模式已打开并启用背景获取,以确保您在通过 Info.plist 允许它时不会弄乱一些方法。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
{
    UIApplication.sharedApplication().setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)
    return true
}
于 2014-12-03T21:23:08.787 回答