关于ios Universal Links apple-app-site-association文件 Not Found的问题

这篇具有很好参考价值的文章主要介绍了关于ios Universal Links apple-app-site-association文件 Not Found的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 背景说明

1.1 Universal Links 是什么


Support Universal Links 里面有说到 Universal Links 是什么、注意点、以及如何配置的。简单来说就是

当您支持通用链接时,iOS 用户可以点击指向您网站的链接,并无缝重定向到您安装的应用程序

大白话就是说,用户通过点击某个链接,可以直接唤起对应的app。提供这样功能的目的是为了吸引网络用户(俗称引流)。
(注意url的变化,一定是用户点击造成的!使用js触发是无效的)。

1.2 Universal Links 如何配置

关于ios Universal Links apple-app-site-association文件 Not Found的问题,前端-移动端,ios
简单的来说,配置Universal Links需要涉及到两方面:域名服务器和app:

① 域名服务器上要配置apple-app-site-association文件 (也被称为AASA文件)

创建apple-app-site-association文件后,将其上传到 HTTPS Web 服务器的根目录或子目录.well-known。该文件需要可通过 HTTPS 访问(无需任何重定向),地址为https:///apple-app-site-association或https:///.well-known/apple-app-site-association。接下来,您需要处理应用程序中的通用链接

即配置成以后,有3个链接要访问成功才可以:

https://你的域名.com/apple-app-site-association
https://你的域名.com/.well-known/apple-app-site-association
https://app-site-association.cdn-apple.com/a/v1/你的域名.com

最后一个链接是苹果CDN链接,可以理解为只要这个地址像下图一样返回正常,就说明我们配置的AASA文件没有问题
关于ios Universal Links apple-app-site-association文件 Not Found的问题,前端-移动端,ios

② app上要在Xcode的Associated Domains里面去配置applinks
关于ios Universal Links apple-app-site-association文件 Not Found的问题,前端-移动端,ios
关于ios Universal Links apple-app-site-association文件 Not Found的问题,前端-移动端,ios

两方面都要配置好,才能正常使用Universal Links 唤起app。配置OK后,可以在钉钉、微信、safari浏览器、扫描器等里面直接通过配置的域名唤起app。

2. 问题出现与调试

昨天17点的时候,发现Universal Links 无法正常唤起app了。打开那3个链接进行调试,发现只有前个是可以正常访问的。

https://你的域名.com/apple-app-site-association
https://你的域名.com/.well-known/apple-app-site-association
https://app-site-association.cdn-apple.com/a/v1/你的域名.com

第三个显示Not Found
关于ios Universal Links apple-app-site-association文件 Not Found的问题,前端-移动端,ios
在shell里面运行:

curl -v  https://app-site-association.cdn-apple.com/a/v1/你的域名.com

可以看到该请求的详细信息:
关于ios Universal Links apple-app-site-association文件 Not Found的问题,前端-移动端,ios

< Apple-Failure-Details: {"status":"405 Not Allowed"}
< Apple-Failure-Reason: SWCERR00101 Bad HTTP Response: 405 Method Not Allowed

3. 修复总结

  1. 这个Universal Links 之前一直能正常访问,ios app发版也没有动过相关配置。为什么就失效了呢

  2. 前2个链接是可以正常访问的,即apple-app-site-association的配置是ok的。问题出在最后一个连接上,Not Allowed 可能是我们的服务器不允许app-site-association.cdn-apple.com访问

  3. 联想到前几天服务器受到了攻击,所以运维调整了安全策略,有时候在我们的域名下可以安全提示。和运维确认以后,得知运维禁止了所有的国外ip访问

  4. 但是在运维放开以后,访问

https://app-site-association.cdn-apple.com/a/v1/你的域名.com

依然是 Not Found,似乎没有任何变动。

  1. 正好那个时间还有几分钟就下班了,还要取写每日云效和日报,就先没管这个了。今天上班以后,发现链接可以访问了。

    回想可能是缓存问题,之前配置AASA文件的时候,就了解到AASA文件文件是有缓存的,或者说是apple CDN的缓存。修改AASA文件以后,从https://app-site-association.cdn-apple.com/a/v1/ 访问可能不会马上更新。这个缓存具体时间不确定,可能是几小时或几天不等

  2. 也就是说即使我们修改了自己服务器上的apple-app-site-association文件,搭配app测试的时候,可能也不会马上达到我们想要的效果。 比如一开始我们在AASA文件里面是这样配置的:

     "paths": [
        "*"
      ]

      这代表当前域名下的所有url都会唤起我们的app


      但是如果修改一下:

        "paths": [
          "NOT *-wx-*",
          "*"
        ]

      这表示我们想当前域名下,含-wx-的url不会唤起app。但是当我们修改了AASA文件,并更新到服务器以后,同时确保服务器文件已更新。
      可能依然会发现,测试效果并非我们所预测的那样,包含-wx-的url依然会唤起app,此时查看

https://app-site-association.cdn-apple.com/a/v1/你的域名.com 

      会发现,依然是

     "paths": [
        "*"
      ]
  1. 同文件内容的缓存一样,我感觉我们在放开国外ip访问以后,https://app-site-association.cdn-apple.com/a/v1/ 或 apple CDN 并没有马上访问更新。所以当时没有生效,但是第二天缓存更新就生效了

4. 注意点

当用户在 Safari 中浏览您的网站并点击指向与当前网页位于同一域中的 URL 的通用链接时,iOS 会尊重用户最可能的意图并在 Safari 中打开该链接。

如果用户点击指向不同域中 URL 的通用链接,iOS 会在您的应用程序中打开该链接。

文档中这段话的意思是,如果我们有一个配置了Universal Links的域名A。
当时用户从A域名打开A域名的时候(A->A),不会触发APP跳转。
只有用户另外的B域名点击去到A域名的时候(B->A),才会触发APP的跳转,B域名是普通的域名。文章来源地址https://www.toymoban.com/news/detail-668018.html

到了这里,关于关于ios Universal Links apple-app-site-association文件 Not Found的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • iOS 配置通用链接(Universal Link)服务端和开发者后台都配置好了,还是跳转不到App

    目录 一、什么是 Universal Link? 1.背景介绍 2.特点 3.运行机制原理流程图 二、配置教程 1.第一步:开启 Associated Domains 服务 1.1 开通 Associated Domains 2.第二步:服务器配置 apple-app-site-association(AASA) 文件 2.1 创建 apple-app-site-association 文件 2.2 将 apple-app-site-association 文件上传到

    2024年02月04日
    浏览(42)
  • Uniapp IOS universal link 配置流程

    Universal Link是苹果再WWDC 2015上提出的iOS 9的新特性,是一种仅限于苹果设备的特别深度链接协议,能通过打开一个Https链接来直接启动您的客户端应用。开始之前,确保你有一个Https协议的域名,下面我们就看看在uniapp中如何正确配置。 ♥️ 步骤一:新建 apple-app-site-associatio

    2024年02月08日
    浏览(46)
  • 由于应用universal link 校验不通过(ios分享)

    app苹果分享的时候校验不通过 解决方法:登录微信开放平台 点击自己的应用 下拉查看应用平台这里没有ios的,就要新增ios的 在上拉基本信息那里去点击修改进去新的页面不用管, 下拉点击保存,下一步 这样就可以勾选新增ios的了, Bundle id是你打包的时候 可以看到的填写

    2024年02月11日
    浏览(53)
  • uni-app真机预览调试:关于ios系统真机调试的操作步骤

    介绍: 因手机差异较大,HBuilder并没有提供App的模拟器。不管uni-app或5+App/wap2app项目,都需要连接真实的手机或手机模拟器来运行测试,称之为“真机运行”。 iOS平台 HBuilder支持itunes协议,在HBuilder运行的电脑上,使用usb线连接iPhone或iPad;如果是mac电脑,则可以连接XCode自带

    2023年04月23日
    浏览(52)
  • 【uniapp】 史上最详细手动配置ios平台通用链接 Universal Link 设置

    1.先去苹果开发平台开启服务“Certificates, Identifiers Profiles”页面选择“Identifiers”中选择对应的App ID,确保开启Associated Domains,然后重新生成profile后续打包时用 2.第二步再unapp项目根目录创建apple-app-site-association文件注意此文件不要带后缀,(如果你使用了uniapp的自动生成io

    2024年02月11日
    浏览(41)
  • 关于IOS系统时间格式显示NAN问题以及小程序项目运行报错app.json找不到

    目录 问题一:关于IOS系统时间格式显示NAN 一、比较常见的情况,时间格式为\\\"yyyy-MM-dd HH:mm:ss\\\"格式在 iOS 会出现 NAN 二、关于时间临界值:对于00:00:00和24:00:00这两个时间临界值, ios会转成NAN 三、时间格式为2022/09(年月),这种在iOS 用new Date转化之后也会变成NAN,这种情况可以

    2024年02月08日
    浏览(39)
  • 【三方登录-Apple】iOS 苹果授权登录(sign in with Apple)之开发者配置一

    记录一下sign in with Apple的开发者配置 关于使用 Apple 登录 使用“通过 Apple 登录”可让用户设置帐户并使用其Apple ID登录您的应用程序和关联网站。首先使用“使用 Apple 登录”功能启用应用程序的App ID 。 如果您是首次启用应用程序 ID 或为新应用程序启用应用程序 ID,请启用该

    2024年02月06日
    浏览(71)
  • 【iOS安全】iphone出现support.apple.com/iphone/restore

    解决iphone出现support.apple.com/iphone/restore 解决方法1:使用爱思助手 可能是因为手机进入了恢复模式 手机连接Mac端的爱思助手之后,使用爱思助手的“退出恢复模式” 经测试有效 解决方法2:iphone强制重启 强制重新启动iPhone8或iPhoneSE(第2代) 按下并快速松开调高音量按钮,按下

    2024年02月17日
    浏览(55)
  • 苹果iOS 17新功能:iPhone激活Apple Watch铃声反向查找手表

    苹果 Apple Watch 此前一直有查找 iPhone 的功能,用户可以点击表盘的电话图标(或者长按)来激活 iPhone 的铃声,从而找到附近的 iPhone 手机。 在最新的 iOS 17 测试版本中,苹果为 iPhone 也添加了这一功能的反向版本,可以通过 iPhone ping 到 Apple Watch,通过 Apple Watch 的铃声查找附

    2024年02月11日
    浏览(46)
  • 免费升级到 iOS 17 Developer Beta:官方Apple Store升级方案与爱思助手方法比较

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包