呼び出し順序
下記の順で呼ばれる。
application:didFinishLaunchingWithOptions:
↓
application:handleOpenURL:
options
application:didFinishLaunchingWithOptions: の引数には通常 nil が渡ってくるが、他のアプリから呼び出した場合は NSDictionary が渡される。渡される情報(キー)は次の通り。
NSString *const UIApplicationLaunchOptionsURLKey; NSString *const UIApplicationLaunchOptionsSourceApplicationKey; NSString *const UIApplicationLaunchOptionsRemoteNotificationKey; NSString *const UIApplicationLaunchOptionsAnnotationKey; NSString *const UIApplicationLaunchOptionsLocalNotificationKey; NSString *const UIApplicationLaunchOptionsLocationKey; NSString *const UIApplicationLaunchOptionsNewsstandDownloadsKey;UIApplication Class Reference
iOS 5 からは Newsstand 関連の情報が追加されている。
以下は Safari からアプリを呼び出した例。※見やすい様に改行が入れてある
{ UIApplicationLaunchOptionsSourceApplicationKey = "com.apple.mobilesafari"; UIApplicationLaunchOptionsURLKey = "jp.lakesoft.Test://sample/?id=dbebd9d29e612965a9f83d2a2e160d"; }
参考情報
Document Interaction Programming Topics for iOS: Opening Supported File Types
- - - -
application:handleOpenURL: を使わなくても他アプリから渡されたURLが処理できるのか。
Responses
Leave a Response