我已成功为我的iOS应用实施Background Fetch
。但是,当我运行项目时,即使第一次启动App也会调用它,这就是我需要忽略的。
我没有在Application delegate
方法中对服务器进行任何API调用,我刚刚以下列方式调用了服务器:
# pragma mark
# pragma mark - Background Fetch Utility
-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
NSLog(@"---------- Background Fetch ----------");
[self getUpdatesFromServer:^(int fetchResult) {
switch (fetchResult)
{
case FETCH_RESULT_NEW_DATA:
{
[self fireUpdatesNotification:[Notifications getUnreadCount]];
completionHandler(UIBackgroundFetchResultNewData);
break;
}
case FETCH_RESULT_NO_DATA:
{
completionHandler(UIBackgroundFetchResultNoData);
break;
}
case FETCH_RESULT_FAILED:
{
completionHandler(UIBackgroundFetchResultFailed);
break;
}
default:
{
break;
}
}
}];
}
可能是因为我正在调试应用程序,但我不确定。 有什么想法吗?