2013-10-03 9 views
15
gestartet wurde

Ich habe für immer gesucht, aber nicht gefunden ... Weißt du, ob es eine Möglichkeit gibt zu festzustellen, ob meine iOS-App von Siri oder durch das Tippen auf das App-Symbol gestartet wurde ?Ermitteln, ob iOS-Anwendung über Siri

Ich muss wissen, weil ich eine Startaktion nur dann automatisieren möchte, wenn meine App von Siri gestartet wird.

ich, dass vielleicht Anwendung denken: didFinishLaunchingWithOptions oder einige andere API meine App erlauben würde, zu wissen, wie es gestartet wurde, aber das scheint nicht der Fall zu sein (oder ich es nur knapp verfehlt).

Irgendeine Idee, wenn es einen Trick gibt, den ich verwenden könnte, bis Apple eine offizielle/öffentliche Siri API veröffentlicht?

+0

Ich glaube nicht, siri innerhalb API Form öffentlich ist – user2277872

+0

wir die gleiche Frage haben, wenn die Anwendung wissen würde, wenn sie auf von siri oder durch einen Klick gestartet wurde Das App-Icon – clearwater

Antwort

1

Das einzige, was ich vorschlagen kann ist, überprüfen Sie die launchOption Wörterbuch als Teil der application:willFinishLaunchingWithOptions: und application:didFinishLaunchingWithOptions: übergeben.

Es gibt einen Schlüssel, der den Namen der Anwendung zur Liste behauptet, die Ihre Anwendungen angefordert starten und vielleicht würde Siri aufgeführt:

Vom Apfel doc befindet here:

UIApplicationLaunchOptionsSourceApplicationKey

Das Vorhandensein dieses Schlüssels identifiziert die App, die den Start Ihrer App angefordert hat. Der Wert dieses Schlüssels ist ein NSString-Objekt, das die Bundle-ID der App darstellt, die die Anforderung ausgeführt hat. Dieser Schlüssel wird auch verwendet, um auf denselben Wert im userInfo-Dictionary der Benachrichtigung UIApplicationDidFinishLaunchingNotification zuzugreifen. Verfügbar in iOS 3.0 und höher. In UIApplication.h deklariert.

+0

Wenn ich die App von SIRI starte, werden weder die Anwendung: didFinishLaunchingWithOptions noch die application: willFinishLaunchingWithOptions-Methode aufgerufen. – Jayaprada

+0

Diese Delegiertenfunktionen werden aufgerufen, wenn ich meine App mit Siri starte. Der Startoptionsparameter ist jedoch null. –

0

Wenn ich von Siri starten, wird Anwendung: didFinishLaunchingWithOptions aufgerufen. Mein launchOptions-Wörterbuch ist jedoch leer. Wenn ich die App über ein URL-Schema starte, hat mein launchOptions-Wörterbuch die entsprechenden Schlüssel. Zu diesem Zeitpunkt sieht es nicht, wie es möglich ist, zu wissen, ob die App von Siri

von Apple bereitgestellten
0

Liste der Startoptionen ins Leben gerufen wurden

let UIApplicationLaunchOptionsURLKey: String let UIApplicationLaunchOptionsSourceApplicationKey: String let UIApplicationLaunchOptionsRemoteNotificationKey: String let UIApplicationLaunchOptionsLocalNotificationKey: String let UIApplicationLaunchOptionsAnnotationKey: String let UIApplicationLaunchOptionsLocationKey: String let UIApplicationLaunchOptionsNewsstandDownloadsKey: String let UIApplicationLaunchOptionsBluetoothCentralsKey: String let UIApplicationLaunchOptionsBluetoothPeripheralsKey: String let UIApplicationLaunchOptionsShortcutItemKey: String let UIApplicationLaunchOptionsUserActivityDictionaryKey: String let UIApplicationLaunchOptionsUserActivityTypeKey: String

Hier ist der Link zu Apples Dokumentation Launch Options Keys.
Hier ist der Link zu Quoren in Bezug auf offizielle/public Siri API Quora Link

Verwandte Themen