UIApplicationDelegate 3 个类似的 openURL 方法
UIApplicationDelegate 3 similar openURL methods
@protocol UIApplicationDelegate<NSObject>
...
- (BOOL)application:(UIApplication *)application
handleOpenURL:(NSURL *)url
NS_DEPRECATED_IOS(2_0, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
NS_DEPRECATED_IOS(4_2, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
NS_AVAILABLE_IOS(9_0); // no equiv. notification. return NO if the application can't open for some reason
...
在UIApplicationDelegate
协议中,有3个类似的openURL回调方法,如何在你的应用中使用它们以获得最佳兼容性?
前两个是在iOS < 9 中处理URL-方案的旧委托。在iOS 9 中,它们已合并到最后一个以统一两个委托并使用 UIApplicationOpenURLOptionsKey
类型使选项更易于配置。
注意:如果您仍然以 iOS < 9 为目标,它们也可以共存以保持向后兼容性。只要您 iOS 将检测每个 iOS 版本的正确委托实施它们。
@protocol UIApplicationDelegate<NSObject>
...
- (BOOL)application:(UIApplication *)application
handleOpenURL:(NSURL *)url
NS_DEPRECATED_IOS(2_0, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
NS_DEPRECATED_IOS(4_2, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
NS_AVAILABLE_IOS(9_0); // no equiv. notification. return NO if the application can't open for some reason
...
在UIApplicationDelegate
协议中,有3个类似的openURL回调方法,如何在你的应用中使用它们以获得最佳兼容性?
前两个是在iOS < 9 中处理URL-方案的旧委托。在iOS 9 中,它们已合并到最后一个以统一两个委托并使用 UIApplicationOpenURLOptionsKey
类型使选项更易于配置。
注意:如果您仍然以 iOS < 9 为目标,它们也可以共存以保持向后兼容性。只要您 iOS 将检测每个 iOS 版本的正确委托实施它们。