1

我已经成功地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;
            }
        }
    }];
}

可能是在我调试应用程序时发生这种情况,但我不确定。有什么想法吗?

4

0 回答 0