tyl*_*ler 5 iphone objective-c
我知道有数百个关于 iOS 后台获取的主题。我根本无法解决我的问题来让我的应用程序的后台获取工作。对于我的应用程序的结果来说,有一个有效的后台获取是绝对重要的。我的后台提取通过 Debug -> Simulate Background fetch 在模拟器上正常工作,也在具有特殊方案设置的设备上运行良好:“由于后台提取事件而启动”。我知道当用户强制退出应用程序时它不会被执行。我试图锁定 iPhone 并等待几个小时,然后解锁它以尝试触发后台获取。没发生什么事。实际上一切正常,但后台获取根本不会在我的 iPhone 上执行。我知道 iOS 有一个特殊的算法来调用后台线程,所以需要一点耐心。但是在等待后台提取自动发生 2 个月后,我不再有患者了。我做了什么:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
}
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:2.0];
return YES;
}
- (void) application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
//Do my stuff
completionHandler (UIBackgroundFetchResultNewData);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |