iOS 进程间交互 (native & html & between apps)

同一家公司或者同一个集团开发的Android应用可以把数据存储在公共目录下互相访问,而iOS因为它独有的沙盒(Sandbox)机制,应用间是不可以互相访问的。iOS应用之间的通讯,可以使用universal links,它同样可以提供iOS应用和网页的通讯。

Apps & Websites 通讯

更多信息可以参考https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content?changes=latest_minor

如果你设置了相关的跳转绑定,当你点击特定链接时,系统会为你打开对应的app,如果该app没有安装,则会按链接内容定向到原来的网页。

首先在项目中配置关联的链接:

官方说明https://help.apple.com/xcode/mac/current/#/dev55e137b57

在这里插入图片描述
点击项目配置中的当前项目Target,选择Signing & Capabilities,选择All,+Capability,选择Associated Domains。(注意先登录开发者账号,账号绑定的developer配置中才能管理这个权限,在这里才能显示这个配置,否则选择不了)
Associated Domains
添加的域名需要按以下格式:

<service>:<fully qualified domain>[:port number]

如果需要匹配所有子域名可以使用通配符*.

这样配置后你的应用就可以被对应域名的web应用访问了。

Server 配置

而怎么可以保证你的网页被你的应用调用同时不会被其他应用拦截,可以在服务器配置apple-app-site-association。

更多信息可以参考https://developer.apple.com/documentation/security/password_autofill/setting_up_an_app_s_associated_domains

具体做法是创建一个json文件配置以下内容,把需要交互的应用包名填进去

格式是 < Team Identifier>.< Bundle Identifier>

{
   
   "webcredentials": {
   
       "apps": [    "D3KQX62K1A.com.example.DemoApp",
                    "D3KQX62K1A.com.example.DemoAdminApp" ]
    }
}

放到服务器的下列路径
1.iOS9.3之前是根目录下

https:///apple-app-site-association

2.iOS9.3之后是well-known目录

https:///.well-known/apple-app-site-association

配置文件有以下要求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值