UIApplicationDelegate 3类似的openURL方法

时间:2015-12-08 08:08:07

标签: ios9 uiapplicationdelegate

@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回调方法,如何在您的应用中使用它们以获得最佳兼容性?

1 个答案:

答案 0 :(得分:0)

前两个是在iOS中处理URL方案的旧代表&lt; 9.在iOS 9中,它们已合并到最后一个,以统一两个代表,并使用UIApplicationOpenURLOptionsKey类型使选项更具可配置性。

注意:它们也可以共存以保持向后兼容性,以防您仍然以iOS&lt; 9.只要您实现iOS版本,iOS就会检测到正确的代理。