所以我也跟着教程https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9,准确地使用相同的值提供的一个.
Apple协会文件也已准备好在链接目录中:WEB_PAGE:PORT_NUMBER/apple-app-site-association
一切似乎都在这方面设置.
我添加了权利,更新了配置文件以及所有设置.
当我在我的设备上运行应用程序,并打开链接http:// WEB_PAGE:PORT_NUMBER时,这将始终打开Safari.
我甚至在以下方法中有断点:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler
Run Code Online (Sandbox Code Playgroud)
但齐尔奇.
有没有人完善这个?有什么我错过了吗?
我们的通用链接已经运行很长时间了。今天我添加了 AASA 文件的路径(我们称之为 sub2)。即使重新安装后,该应用程序也无法识别该路径。
\n当我调试时,我注意到 applinks 服务正在获取文件,但请求没有进入我们的服务器。该服务确实获取了旧的 AASA 文件,因此苹果的 CDN 似乎正在缓存该文件。
\n调试:
\nAASA 文件有效:使用Branch Validator以及Apple 的 appsearch-validation-tool中的新 URL 进行测试
\n{\n "applinks": {\n "apps": [],\n "details": [\n {\n "appID": "redacted",\n "paths": [\n "/main/*",\n "/sub1/*",\n "/sub2/*",\n "/pagex-*"\n ]\n }\n ]\n },\n "activitycontinuation": {\n "apps": [\n "redacted"\n ]\n }\n}\nRun Code Online (Sandbox Code Playgroud)\nApple tool: tested https://redacteddomain/sub2/something\nLink to Application: Passed\nUniversal true\n...\nRun Code Online (Sandbox Code Playgroud)\n文件未缓存在我们这边/Cloudflare:上面的验证器确认了这一点,但为了确保我也清除了缓存
\nIphone 控制台显示正在获取 AASA 文件:
\nBeginning data task AASA-64DCD3xx-xxxxx { domain: …
ios applinks branch.io ios-universal-links apple-app-site-associate
我刚检查了我的服务器日志,发现以下奇怪的请求进入了很多.我实现了iOS 9 Universal Linking,但据我所知,这些请求是针对/ apple-app-site-association运行的.
Jan 15 09:36:23 method=GET path="/.well-known/apple-app-site-association"
Run Code Online (Sandbox Code Playgroud)
还有其他人看过这些模式吗?这是一些已知的垃圾邮件还是什么?
在我的iOS 9应用程序上测试通用链接时,我不小心点击了"mywebsite.com"(右上角).这使应用程序再次导航到该网站.现在我似乎无法再次进行通用链接工作.似乎iOS已经记住了我的偏好,我希望看到在Safari中打开的链接而不是我的应用程序.
有没有人碰到这个?有没有办法重置这个?
在我阅读时,iOS 9引入了Universal Links.在Apple的App Search Programming Guide中的"支持通用链接"部分中,它说这与URL方案的深层链接不完全相同,但我不完全清楚这个主题:
我如何在我的应用程序中支持Universal LinksiOS并设置我的服务器以支持Universal Links?
在我正在开发的iOS应用程序中,我已经设置了Universal Links.该应用程序托管多个域.我使用通配符设置了一些域名.这些域似乎不起作用.例如,我想链接到https://news.mydomain.com/.如果我将以下内容添加到关联域列表中:
applinks:*.mydomain.com - >不起作用
applinks:news.mydomain.com - >工作正常
所以我相信我确实设置正确,apple-app-site-association文件设置正常.我甚至可以在两种情况下(使用Charles Proxy)看到apple-app-site-association文件被检索好了.
对于通配符,链接仅在Safari中打开.
当我在没有通配符的情况下配置域时,应用程序将打开.
我在这里错过了什么吗?我在设备上运行iOS 9.3.2,我正在运行Xcode 7.3.1,它们是今天的最新版本.
在构建 Apple App Site Association 文件(AASA 或apple-app-site-association文件)时,很容易出错。这就是 Apple 构建“ App Search API 验证工具”(ref1、ref2)的原因。
这似乎于 2022 年 6 月在https://search.developer.apple.com/appsearch-validation-tool/上提供。然而,该网站现在重定向到有关通用链接的通用页面。
我想使用 Apple 的工具来验证我的 AASA 文件,因为当我在 App Store Connect 中选择构建时,它显示我的 AASA 文件存在问题:
域名状态:1 个无效域名
缓存状态:无法访问 AASA 文件
调试状态:无效权利:未知 ID
如何访问 Apple 的 App Search API 验证工具?
我知道有第三方 AASA 验证者:
...但是,这些不是由 Apple 构建的,因此可能不如 Apple 的工具那么彻底。举个例子,我的 AASA 文件在这两个网站上都成功,尽管它在 App Store Connect 上失败了。
ios ios-universal-links app-store-connect apple-appclips apple-app-site-association
我在应用中使用分支深层链接,通过社交媒体分享应用内容的链接.一切都工作得很好.
更新到iOS 11.2时,我遇到以下行为:
1)更新后,Universal Links仍然有效.
2)我卸载了应用程序并重新安装了它.
3)从那时起,所有链接始终在Safari中打开分支深度视图.
4)点击"打开应用程序",打开AppStore.
它并没有关系,其中应用我的链接点击(注,WhatsApp的,短信,脸谱,...),它始终是相同的行为.
通过点击右上角的"转到链接"按钮(当应用程序打开时)没有绕过 Universal Link .我在三种不同的设备(iPhone 5s,iPhone 6s,iPhone 7)上进行了测试.所有这些都导致了同样的结果.
我发现iOS 11 beta 2中有一个错误已在beta 3中修复(Ios 11.2 beta通用链接打开我的应用程序和Safari),但它可能已经重新出现了?!
任何人有相同的问题或解决方法吗?
我有通用链接正常工作,当安装应用程序时,我看到链接如何打开应用程序,并且当它未安装时打开safari中的URL.
实际上我想要做的是重定向并转到应用商店,这样用户就可以直接下载应用.我将在html文件中包含重定向,因为我知道通用链接不支持重定向http服务器配置级别(无论如何我认为这仅适用于清单文件,apple-apps-site-association)
任何人都可以确认这是否是正确的方法,或唯一的方法吗?我不喜欢先打开safari的想法,加载我的html(只有重定向),然后去商店.看起来没有更简单的方法来做到这一点.
ios ×10
ios9 ×3
deep-linking ×2
applinks ×1
branch.io ×1
deeplink ×1
ios11 ×1
objective-c ×1
url-scheme ×1
xcode ×1