2013-10-07 3 views
2

Есть ли способ определить, как приложение запускается или активируется (т. Е. Главный экран, четыре пальца, сири и т. Д.)?ios определяет, как запускается приложение.

Есть эта тема, которая похожа (Determining whether iOS application was launched via Siri), однако в ней не так много ответов. Это также относится к Mac OSX (How can a Mac app determine the method used to launch it?), но мне нужно что-то подобное для iOS.

Я также пропустил это (https://developer.apple.com/library/ios/DOCUMENTATION/iPhone/conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html#//apple_ref/doc/uid/TP40007072-CH4-SW3), хотя я не нашел ничего, что бы узнало, «как» было запущено приложение.

Заранее спасибо.

ответ

2

Вы можете выяснить, что приложение было начато с URL в другом приложении с использованием метода AppDelegate:

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { } 

Кроме того, application:DidFinishLaunchingWithOptions: имеет опции, которые являются ключами, которые вы можете найти here что сказать вам причины, почему приложение запущено.

Эти ключи:

NSString *const UIApplicationLaunchOptionsURLKey; 
NSString *const UIApplicationLaunchOptionsSourceApplicationKey; 
NSString *const UIApplicationLaunchOptionsRemoteNotificationKey; 
NSString *const UIApplicationLaunchOptionsAnnotationKey; 
NSString *const UIApplicationLaunchOptionsLocalNotificationKey; 
NSString *const UIApplicationLaunchOptionsLocationKey; 
NSString *const UIApplicationLaunchOptionsNewsstandDownloadsKey; 
NSString *const UIApplicationLaunchOptionsBluetoothCentralsKey; 
NSString *const UIApplicationLaunchOptionsBluetoothPeripheralsKey; 

Вы можете проверить их с тем, если заявления, когда запусками приложения.

+0

Но разве это не скажет мне, когда приложение запускается по URL-адресу? Как это работает с четырьмя пальцами? – ljavierrivera

+0

Четыре пальца салфетки? – AdamG

Смежные вопросы