IOS通用链接或URL方案可在应用程序之间共享信息

时间:2018-12-10 08:39:09

标签: ios url-redirection keychain url-scheme ios-universal-links

我尝试在多个应用程序之间共享信息。

我知道钥匙串的局限性(“您不能直接共享任何资源;每个应用程序都位于其自己的“沙盒”中,并且不能访问任何其他应用程序的资源。”),在2之间不可能做相同的行为与开发者团队不同的应用程序...

我一直在寻找有关通用链接或URL方案的信息,因为您可以在两者中都添加参数。

我知道通常的用途是从url网站重定向到应用程序,但是有一种方法可以使用重定向来执行类似操作:

appA->网站网址-> appB

  • 用户自动从appA重定向到appB,网站没有界面,仅是重定向 -appA和appB是来自不同开发人员的2个应用程序,但始终安装在设备上。 -我可以访问该网站,并且可以上传任何内容(苹果应用程序网站关联文件或其他任何文件)

2 个答案:

答案 0 :(得分:0)

有几种方法可以实现应用之间的数据共享。

如果您同时拥有这两个应用程序,请使用以下命令:

1)应用程序组-应用程序组创建一个安全的容器,多个进程可以访问该容器。

a)首先从您的开发者帐户启用“应用程序组”。 生成配置文件。并在xcode中的两个项目中启用应用组共享

b)在第一个应用中,保存数据:

NSUserDefaults *dataContainer = [[NSUserDefaults alloc] initWithSuiteName:@"com.xxx.appgroupid"];
[dataContainer setObject:@"foo" forKey:@"bar"];

在第二个应用中,检索数据:

NSUserDefaults *dataContainer = [[NSUserDefaults alloc] initWithSuiteName:@"com.xxx.appgroupid"];
NSLog(@"My value for key: %@",[dataContainer objectForKey:@"bar"]);

答案 1 :(得分:0)

不可能,因为对于通用链接,配置文件需要放置在服务器根目录下。您可以将文件放置在服务器上,但是另一个应用程序将无法识别服务器上的配置。

对于通用链接,需要在移动应用程序代码上进行一些配置。您无法在其他供应商应用程序上执行这些操作。

  • 备用选项是“网址方案”:

用于与其他应用程序通信。源应用程序必须知道收件人应用程序的url方案,该方案需要通过url方案进行通信。

https://developer.apple.com/documentation/uikit/core_app/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app