2012-07-25 121 views
2

我已仔細閱讀過蘋果開發用戶指南重新執行多任務操作,但我仍無法理解如何在後臺運行簡單操作。我做了以下簡單的實驗,但什麼都沒有發生:無法在iPhone應用程序中運行後臺操作

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    sleep(3); 
    UIAlertView *alert1 = [[UIAlertView alloc] initWithTitle:@"title" message:@"test" delegate:nil cancelButtonTitle:nil otherButtonTitles:nil , nil]; 
    [alert1 show]; 
} 

所以我的理解是增加了對音頻/位置/ VoIP的業務支持,同時在後臺默認情況下給出的,但我怎麼可以添加這樣一個簡單的操作支持?

非常感謝您的幫助。

回答

6

我希望這個答案。是你的問題非常有用

當關閉應用程序比你可以在後臺看到AlertView消息..

- (void)viewDidLoad 

{ 


UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
    localNotif.fireDate =[NSDate dateWithTimeIntervalSinceNow:15]; 
    localNotif.timeZone = [NSTimeZone localTimeZone]; 
    localNotif.alertBody = @"Staff meeting in 30 minutes"; 
    //localNotif.alertBody = [NSString stringWithFormat:@"%@'s Birthday",strName]; 

    localNotif.alertAction = @"View"; 
    localNotif.soundName = UILocalNotificationDefaultSoundName; 
    // localNotif.applicationIconBadgeNumber = 1; 
    localNotif.repeatInterval = NSYearCalendarUnit; 

    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 


} 
+0

謝謝@jaydeep,但我的問題是更一般的如何處理後臺操作,不一定提醒視圖。警報視圖只是一個視覺方式,讓我知道該應用程序確實在後臺工作。 – moshikafya 2012-07-25 10:54:02

0

您試圖在應用程序進入後臺時顯示警報。嘗試使用NSLog打印某些東西或放置一個斷點並檢查控制是否採用此方法。

+0

它使用的NSLog的時候,但我想測試它沒有模擬器不工作。 ..我可以做到這一點? – moshikafya 2012-07-25 03:06:28

+0

你可以進入主屏幕在sim上進行測試。 – 2012-07-25 03:12:09

+0

不知道我明白你的意思嗎?我想在設備未連接到Xcode的情況下在「真實生活」中進行測試。知道我的應用程序確實在後臺運行的最佳方式是什麼? – moshikafya 2012-07-25 03:22:31

0

你的應用在後臺無法做任何UI東西。你可以做其他的工作,比如獲取數據或者在後臺處理一些數據。 要啓用audio/location/voip,您需要正確設置info.plist以啓用該功能。 應該記錄在iOS文檔中

+0

感謝,但將我重定向到文檔並沒有幫助...正如我所提到的,我已經完成了它們。 – moshikafya 2012-07-25 03:07:55