我已经成功地Background Fetch
为我的 iOS 应用程序实现了。但是,当我运行该项目时,即使 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;
}
}
}];
}
可能是在我调试应用程序时发生这种情况,但我不确定。有什么想法吗?