2015-11-06 92 views
1

當你用力壓應用程序圖標,並選擇在主頁上的快速操作之一,你有兩個選擇:啓動週期(3D觸摸)

1.應用程序已經運行(在背景)

在這種情況下,快速行動是由performActionForShortcutItem:completionHandler:

2.您的應用程序處理正在啓動

在這種情況下,也/ willFinishLaunching被稱爲然後performActionForShortcutItem:completionHandler:

我,你必須檢查,如果應用程序是由快速行動推出DID/willFinishLaunching的那篇文章,如果是這樣,處理它那裏和返回假所以performActionForShortcutItem:completionHandler:將不會再被調用。我想知道爲什麼這種方法更好?這是因爲否則你的整個應用程序啓動,然後處理快速行動,而不是直接處理快速行動。

+0

'application:performActionForShortcutItem:completionHandler:'的文檔解釋了你爲什麼要這麼做的原因。 – dan

回答

1

正如丹在評論中指出的,Apple Documentation解釋了爲什麼我們應該這樣編程。

請求的快速操作可能會使用與您的應用啓動時使用的代碼路徑不同的代碼路徑。例如,假設您的應用程序通常會啓動以顯示視圖A,但您的應用程序是爲了響應需要視圖B的快速操作而啓動的。要處理此類情況,請在啓動時檢查您的應用程序是否通過快速操作啓動。