Как обращаться, если приложение открыто из URL-адреса в методе didFinishLaunchingWithOptions?

Когда приложение iOS открывается из некоторого URL- AppDelegates's методы AppDelegates's вызываются в такой последовательности:

 1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 2. - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 

Как узнать метод didFinishLaunchingWithOptions если приложение было открыто с URL-адреса или нет. Может быть, есть некоторые варианты запуска, которые я пропускаю?

Вы можете проверить, что launchOptions передано в - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions .

UIApplicationLaunchOptionsURLKey разделов Launch Options Keys в справочных документах , в частности, UIApplicationLaunchOptionsURLKey

Если ваше приложение было запущено с URL-адреса, вы найдете

 UIApplicationLaunchOptionsURLKey 

в объявлении launchOptions of – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

В связанной заметке метод handleOpenURL: устарел, вы должны использовать:

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

Во-первых, вы должны реализовать application:didFinishLaunchingWithOptions:
Проверьте URL-адрес. Он должен вернуть ДА, если вы можете открыть его, или НЕТ, если вы не можете.

И затем реализовать application:handleOpenURL:
Откройте URL. Он должен вернуть YES в случае успеха или НЕТ.

Interesting Posts
Давайте будем гением компьютера.