iOS上的URL方案

时间:2013-03-27 04:38:58

标签: ios url-scheme

我正在尝试使用URL方案从另一个应用程序(App 2)启动一个应用程序(App 1)。有没有办法可以检查启动我的应用程序的应用程序名称?示例App2启动App 1(因此我可以在启动App 1时检查App 2名称)或者我们是否可以获取有关启动App1的源的信息?

提前致谢

2 个答案:

答案 0 :(得分:5)

要从其他应用程序启动应用程序,您只需在info plist文件中配置“支持的URL方案”。您也可以通过appDelegate中的以下方法了解应用程序启动的原因。

  • (BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

此处启动选项

指示启动应用程序的原因的字典(如果有)。在用户直接启动应用程序的情况下,该字典的内容可能为空。

可能的键是

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

答案 1 :(得分:0)

由于URL方案取决于您,您可以在URL中传递您想要的任何信息。例如:

[[UIApplication sharedApplication] openURL:@"app1scheme://app_action?source=app2"];

这种方法相对于使用启动选项键的唯一真正优势是它也可以 - 并且可以包含网站特定信息 - 如果有人从网站链接启动您的应用程序。