2014-03-26 54 views
0

我不知道如何實現在搜索網絡 後臺服務。但我看到有關背景取的是在IOS 7中引入阿比一些教程。我無法瞭解的過程,以implement.Plesae提供一些help.`如何在iOS上運行後臺服務,即使應用程序處於暫停狀態

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 


    [application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum]; 





    return YES; 
} 
- (void)    application:(UIApplication *)application 
    performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 
{ 

    NSLog(@"hai"); 



    [NSTimer scheduledTimerWithTimeInterval:0.30 
            target:self 
            selector:@selector(sampleTest) 
            userInfo:nil 
            repeats:NO]; 
    completionHandler(UIBackgroundFetchResultNewData); 
} 

    -(void)sampleTest 
{ 

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:@"hai" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
    [alertView show]; 


} 

僅調用而應用程序正在啓動,但之後,我無法看到之後30秒

+0

你不會看到一個警告,這是不是有什麼後臺獲取是。除非您使用靜默推送通知(僅限iOS 7),否則無法手動觸發後臺提取。當它要,你可以去的Xcode>調試模擬它在模擬器上的iOS將調用此方法>模擬背景取。我懷疑警報會顯示,但您的應用程序不在前臺。 – CW0007007

+0

的Xcode>調試>模擬如果我這樣做警報來了,只有當模擬器啓動後臺獲取,但我看不到,而它在激活狀態時 – user3420042

+0

應用有效時,它不會出現。這是一個背景取... – CW0007007

回答

0

任何警報只使用以下代碼: -

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    UIApplication *app = [UIApplication sharedApplication]; 
    UIBackgroundTaskIdentifier bgTask = 0; 
    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ 
     [app endBackgroundTask:bgTask]; 
    }]; 
} 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    [application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum]; 
} 
相關問題