iOS7后台抓取

时间:2013-10-07 19:23:48

标签: background ios7 fetch

我正在尝试实施新的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");
    }
    

  4. 我插入我的iPhone并启动应用程序,然后我进入调试 - >模拟后台提取

    NSLog不打印。 (如果我的应用程序在前台,它将把它放在后台)

    谢谢!

2 个答案:

答案 0 :(得分:3)

您可以通过以下链接查看Apple的演示代码

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

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

答案 1 :(得分:0)

你应该添加

[application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
方法

中的

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

也是这种方法

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

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