Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS上的URL方案_Ios_Url Scheme - Fatal编程技术网

iOS上的URL方案

iOS上的URL方案,ios,url-scheme,Ios,Url Scheme,我正在尝试使用URL方案从另一个应用程序(应用程序2)启动一个应用程序(应用程序1)。是否有办法检查正在启动我的应用程序的应用程序名称?示例App2启动App1(因此我可以在启动App1时检查App2名称),或者我们可以获得启动App1的源的信息吗 提前感谢要从另一个应用程序启动应用程序,您只需在info plist文件中配置“受支持的url方案”。您还可以通过appDelegate中的以下方法了解应用程序启动的原因 (BOOL)应用程序:(UIApplication*)应用程序使用选项完成启

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


提前感谢

要从另一个应用程序启动应用程序,您只需在info plist文件中配置“受支持的url方案”。您还可以通过appDelegate中的以下方法了解应用程序启动的原因

  • (BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项
这里是发布选项

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

可能的关键是

NSString*const UIApplicationAunchoptionSurlkey; NSString*constUIApplicationAunCoptionsSourceApplicationKey; NSString*const UIApplicationAunchoptionsRemoteNotificationKey; NSString*const UIApplicationAunChoptionSanNotationKey; NSString*const UIApplicationLaunchActionSlocalNotificationKey; NSString*const UIApplicationLaunchActionSlocationKey;
NSString*const UIApplicationLaunchProctionsNewsStandDownloadskey

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

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

与使用启动选项键相比,此方法的唯一真正优势在于,如果有人从网站链接启动您的应用程序,它也可以工作,并且可能包含特定于网站的信息。

感谢您的回复。如果直接启动应用程序1,然后发送到后台,则相同的应用程序1由应用程序2启动,然后这个代理根本就不会被调用。而且它启动的页面与它返回到后台的页面相同,而不是第一个登录页面。任何解决此问题的建议。@divya您可以在应用程序委托-(BOOL)应用程序中实现以下方法:(UIApplication*)应用程序openURL:(NSURL*)url源应用程序:(NSString*)源应用程序注释:(id)注释;当您的应用程序位于后台并且有打开此应用程序的请求时,将调用此函数。