传统的方式是通过URL Scheme的方式,但是iOS9以后又出了新的更完美的方式Universal Links。

传统的URL Scheme方式微信内置的浏览器都是封锁了所有它投资的公司之外的,只有白名单的才可以(比如京东,B站,等)。Universal Links也不能算是完美的实现,但是已经是目前为止最好的了。

就说一下这个东西的介绍,就像在windows里面为某一类型的文件添加了默认的打开方式。只不过这个文件类型变成了某一个“域名”(并非完全是某个域名,或者可以称之为某段有特殊意义的URL)的URL。这个东西只能在iOS9以后才有。

具体的表现在在iOS系统中,当你邮件或者短信或者其他方式收到含有某段“特定标示”的URL的时候如果安装有你的app,就可以直接默认调用app去打开,否则只能调用你的Safari去打开。具体到微信里面就是打开了分享的H5,右上角更多-在Safari中打开,可以直接调用你的app去打开这个URL。具体在app的中怎么展示相关的逻辑就看你的了。

具体介绍的相关文章:

苹果文档:https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

苹果检测链接有效性:https://search.developer.apple.com/appsearch-validation-tool/

很棒的一个英文的步骤文章:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9

相关的文章:http://www.jackivers.me/blog/2015/9/17/list-of-universal-link-ios-9-apps

      http://tech.glowing.com/cn/deferred-deep-linking-and-branch-sdk-in-ios/(URL Scheme和Universal Links优缺点介绍的很棒,这个团队的技术博客也很不错哦)

      http://www.cocoachina.com/ios/20150911/13321.html(里面的那个运行流程的总结图很不错)

具体的步骤就不再赘述了,因为无论是官方文档,还是其他人写的文章都很棒了,我就说一下实际开发中可能遇到的的坑。

1.注意拼写那个json文件的时候,应该是你的开发者中心,Identifiers---App IDs--- 应用的证书名字(bundle id所有对应的那个)---Prefix
.英文的点号,再跟上你的bundle id。并且文件的名字必须为“apple-app-site-association”,不能自己私自定义。用浏览器打开https://<domain>/apple-app-site-association文件,看一下成功否就可以了。

2.生成后的json文件一定是要放到你的那些网页所在的站点的目录下面的HTTPS web server根目录下面。比如你的网站是https://www.google.com(所有的网页都是以这个开头的),然后你应用的地址baseurl是https://api.google.com,其实你应该放在www的那个HTTPS web server根目录下面。然后过两三分钟吧,就用苹果有效性检测工具的那个去试一下,找一个你要分享出去的h5链接试一下,只要不出错,出来很多的相关信息就可以了(就跟用这个URL测试出来的结果一样就可以了https://www.yelp.com/biz/michael-winnetka)。

3.在工程的设置Associated Domains的时候,一定先要去苹果的开发者中心打开你的应用证书Associated Domains Enabled。然后记得更新你的证书关联的东西,然后更新本地的证书。才可以打开工程的Associated Domains。记住填写链接的时候是applinks:<domain>。这个<domain>就是第1点中调试通的那个(如果你的应用的api的和页面的不区分服务器就一样了)。

4.然后编译你的应用。如果你在短信中含有类似的https://<domain>?a=1&b=2 已经通过了后,直接长按会出来“在“XXX”中打开”就说明成功了。可以去微信微博等其他的地方去看看了。

转自:https://www.cnblogs.com/ysk-china/p/5777299.html

iOS微信打开App的更多相关文章

  1. iOS 微信打开第三方应用(Universal Links 和 URL Schemes)

    一.前言 项目中时常有这种需求, 是通过链接跳转到应用内部,现在iOS主流的方案有两个 Schema: 常用在于一个应用跳转到另一个应用内部,属于应用间的跳转.当然ios9以下,网页可以通过schem ...

  2. HBuilder连接IOS手机打开APP测试

    HBuilder是专为前端打造的开发工具,具有最全的语法库和浏览器兼容数据,以方便制作手机APP,最保护眼睛的绿柔设计等优点在近几年盛行: 开发移动端APP项目想要在手机真机上测试: 首先打开HBui ...

  3. ios微信打开网页键盘弹起后页面上滑,导致弹框里的按钮响应区域错位

    input失去焦点,页面被顶起没有还原,所以就有以下的方法来处理 $("input").blur(function(){   setTimeout(() => {    co ...

  4. 微信扫描打开APP下载链接提示代码优化

    上一次我发了一篇文章叫“微信打开网址添加在浏览器中打开提示”,里面我发出来了三个代码,分别是纯JS.js+html.jQuery+HTML代码.今天来一个简化版带可以关闭的按钮操作.使用的是纯JS+H ...

  5. 微信扫描打开APP下载链接提示代码优化(转)

    上一次我发了一篇文章叫“微信打开网址添加在浏览器中打开提示”,里面我发出来了三个代码,分别是纯JS.js+html.jQuery+HTML代码.今天来一个简化版带可以关闭的按钮操作.使用的是纯JS+H ...

  6. iOS H5页面打开APP技术总结

    iOS端H5页面打开APP的方式目前主要有两种:URL Scheme和Universal Links.其中Universal Links是iOS9.0以后推出的一种新的方案,由于它需要在iOS9.0以 ...

  7. 实现微信浏览器内打开App Store链接(已被和谐,失效了)

    微信浏览器是不支持打开App Store 页面的,不知道微信为什么这么做.比如你页面写 <a href=”http://itunes.apple.com/us/app/id399608199″& ...

  8. 解决ios下的微信打开的页面背景音乐无法自动播放

    后面的项目发现,还有两个坑,需要注意下: ·本文的解决方案的核心是利用了 微信/易信 在ready的时候会有个 WeixinJSBridgeReady/YixinJSBridgeReady事件,通过监 ...

  9. 实现微信浏览器内打开App Store链接

    http://www.ildsea.com/1781.html 微信浏览器是不支持打开App Store 页面的,不知道微信为什么这么做.比如你页面写 <a href=”http://itune ...

随机推荐

  1. IIS6.0应用程序池回收(转载)

    这段时间公司的程序经常出现问题,然后整个应用程序就不能访问了,我们的服务器版本:window 2003 SP1,IIS6.0,没有安装Microsoft Visual Studio .NET . 问题 ...

  2. AssionShop开源B2C电子商务系统-(一)用例图(转载)

    这篇文章,将有实质的进展.先把大体的需求整理了一份用例图,自认为粒度做的已经很细了,再细就没法搞了.我还是坚信一个原则:自己业余搞的东西千万不要 想一口吃个胖子,这样很容易项目就搞流产了~,废话不多说 ...

  3. C 语言 mmap

    /* *@author cody *@date 2014-08-12 *@description */ /* #include <sys/mman.h> void *mmap(void * ...

  4. python list.remove(),del()和filter &amp; lambda

    面试题之中的一个. 下面代码能执行吗? l = [1,2,3,4,5] for i in range(0,len(l)): print i if l[i] % 2 == 0: del l[i] pri ...

  5. nginx vhosts rewrite 独立文件的方式出现

    [root@web01 /]# cat /app/server/nginx/conf/nginx.conf user www www; worker_processes ; error_log /ap ...

  6. python学习之getpass模块

    getpass模块提供两个功能: getpass.getpass(prompt ='Password:',​​stream = None)    提示用户输入密码而不回显.    使用字符串提示提示用 ...

  7. c++11 thread (目前我使用的ZThread库)

    目前为止(2014-11-30),GCC其实已经基本上完全支持C++11的所有功能了,事实上从GCC4.7之后,就支持了-std=c++11选项,在4.7版本之前,也开始支持-std=c++0x的选项 ...

  8. spring-pool.xml

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  9. Xampp + Zend Studio + xDebug 环境搭建 (Mac,Windows都适用)

    这几天折腾了一下PHP开发环境的搭建,现总结一下安装步骤: 1. 安装 Zend Studio,然后破解. 2. 安装 Xampp  3. 配置 Xampp      3.1 配置 Apache服务端 ...

  10. IntelliJ IDEA常用快捷键小结

    IntelliJ Idea 常用快捷键列表 Ctrl+Alt+t 选择代码块 try catch Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+ ...