6

我正在尝试实现新的 iOS7 应用程序刷新。我不认为它工作正常。

我添加到info.plist

所需的后台模式 - 应用程序从网络下载内容

在我的主视图控制器中,

  1. UIApplicationDelegate被设置为委托
  2. Viewdidload我放入[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:1.0];

  3. 我添加以下方法

    - (void)application:(UIApplication *)application 
        performFetchWithCompletionHandler: 
        (void (^)(UIBackgroundFetchResult result))completionHandler {
            NSLog(@"Refresh from Background");
    }
    


我插入我的 iPhone 并启动应用程序,然后我进入 Debug -> Simulate Background Fetch

NSLog 不打印。(如果我的应用程序在前台,它会将其置于后台)

谢谢!

4

2 回答 2

3

您可以从以下链接查看苹果的演示代码

http://adcdownload.apple.com/wwdc_2013/wwdc_2013_sample_code/52012_ios_simplebackgroundtransfer.zip

我尝试在我的应用程序的后台获取数据。它工作正常。

于 2013-10-14T05:48:42.987 回答
0

你应该添加

[application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];

在方法中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

也是这个方法

 (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))

应将 completionHandler 添加到您的应用委托类,而不是 UIViewController,请参阅本教程:http ://www.objc.io/issue-5/multitasking.html

于 2013-10-21T22:07:15.020 回答