2012-01-17 43 views
1

我試圖在應用程序委託中斷點didFinishLaunchingWithOptions以捕獲應用程序終止後報亭問題下載完成時正在啓動的應用程序(在後臺)。我相信這可能會發生,例如,如果用戶手動請求下載,然後終止應用程序。在Xcode中檢測後臺應用程序以調試報亭應用程序

在Xcode方案編輯器中運行方案的信息選項卡上,有一個選項可以等待應用程序啓動。它下面的評論說,它是用來當你想手動啓動你的應用程序。雖然這不是我想要的,但我仍然嘗試過,並不奇怪,它似乎沒有做我想做的事。其他人有沒有辦法做到這一點?

+0

是不是[NKIssueDownloadCompletedNotification](http://developer.apple.com/library/ios/documentation/StoreKit/Reference/NKIssue_Class/NKIssue/NKIssue.html#//apple_ref/c/data/NKIssueDownloadCompletedNotification)是什麼你需要?我不確定當應用程序在後臺下載它時是否可以使用它?你怎麼想? – DanSkeel 2012-09-25 14:11:17

+0

如果應用程序在下載完成時運行(或者在後臺運行),那麼這將起作用。我已經確定了兩種情況,在下載完成之前應用程序可能已被終止(請參閱下面的註釋)。我現在假設終止的應用程序將不會在下載完成時啓動。 – 2012-09-29 12:57:58

回答

3

Wait for your.app to launch可用於延遲調試器的啓動。它在模擬推送通知後測試報刊更新中非常有用。

你可以把一個斷點的application:didFinishLaunchingWithOptions:然後觸發推送通知,將模擬抵達

記住一個報刊亭的問題,如果你測試 - 你要確保你不油門報刊亭更新。在生產中,你每天只能得到1個,所以加上:

#ifdef DEBUG 
    // For debugging - allow multiple pushes per day 
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NKDontThrottleNewsstandContentNotifications"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
#endif 

這是你在找什麼?如果不是請詳細說明。

+0

不可以。我想在下載完成時捕獲應用程序啓動。但是,我看不出爲什麼等待啓動可用於通知(UIApplicationLaunchOptionsRemoteNotificationKey),但不適用於UIApplicationLaunchOptionsNewsstandDownloadsKey。儘管我已經給你提供了關於節流的提示+1。謝謝! – 2012-01-18 09:44:25

+0

你在期待什麼?下載完成後,該應用程序不會啓動。通過報攤,您的應用程序會收到報攤推送消息,如果它在後臺醒來(但仍保留在後臺) - 則下載問題,然後重新進入休眠狀態。它不會成爲前臺應用程序。 UIApplicationLaunchOptionsNewsstandDownloadsKey用於下載目前正在進行中嗎? – bandejapaisa 2012-01-18 11:59:25

+1

我可以想到兩種情況:1用戶啓動以前購買,下載並存檔的產品的下載;然後終止該應用程序。 2:推送通知啓動後臺下載,在此下載過程中,用戶使用該應用程序,然後終止它。由於有一個UIApplicationLaunchOptionsNewsstandDownloadsKey用於啓動應用程序,我認爲它表示指定的資產已被下載並需要注意。如果不是,它是爲了什麼?正如你現在解釋說,這不會發生,我會把它作爲解決我的問題。 – 2012-01-18 13:33:45

相關問題