问题标签 [ios-universal-links]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
329 浏览

ios - 通用链接错误 JSON

我已经apple-app-site-association在服务器上正确上传了。它的格式如下:

我的权利设置正确:

我已经在安装设备时使用 Charles 代理验证了从服务器获取正确的文件。

查看设备日志时,出现以下错误:

Bad apple-app-site-association JSON: Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}

我已经通过 linter 运行了 JSON,结果很好。服务器Content-Type: application/json在标头中发回。我正在物理设备上进行测试。我尝试在 Safari 中手动输入 URL 并通过短信单击它们。有谁看到问题出在哪里?

0 投票
1 回答
362 浏览

ios - 适用于 iOS 9+ 问题的 Branch.io 链接

我在我的项目中使用 Branch.io 从我的网站启动应用程序。我想要的是如果应用程序关闭,当我单击网络上的通用链接时,它将首先打开主页。相反,它打开了另一个。它适用于 iOS 8。但在 iOS 9+ 中,它总是打开 LaunchScreen。

请看一下我的代码:

应用委托:

并且,启动应用程序的功能:

0 投票
1 回答
2338 浏览

ios - iOS 9 - 重定向到通用链接不起作用

假设我有两个域 - example.com 和 ex.co

example.com上,我为iOS 9配置了 Universal Links ,我的apple-app-site-association文件未签名,如下所示:

我的申请也有com.apple.developer.associated-domains条目 -applinks:example.com

如果您单击example.com/link/example?param=value(应用程序打开) ,一切正常


但我想做下一件事:

  1. 用户点击 ex.co/abc
  2. 用户获取 301 标头(永久重定向),其中 example.com/link/example?param=value 作为位置
  3. 应用程序打开,每个人都很开心

第一个和第二个执行得很好,但在第三个我只得到一个空白页面,顶部有一个小横幅,上面写着“你想在应用程序中打开这个页面吗?” 和大“打开”按钮

PS:两个网站都使用有效的 HTTPS

PPS:我不能apple-app-site-associationex.co 制作,因为它会有很多短链接,这些链接会重定向到example.com上不同应用的不同页面

0 投票
4 回答
17462 浏览

ios - 如何让你的推送通知打开某个视图控制器?

我查看了 SO,但找不到任何讨论当您收到推送通知时如何打开特定视图控制器的问题。例如,如果您正在创建一个像 WhatsApp 这样的应用程序并且您收到两个不同的推送通知,即来自两个不同用户的消息,您将如何从应用程序委托定向到相应的 viewController?

据我在 userinfo 字典中知道 appDelegate 给你的你可以给一个特定的 viewController 一个 ID,但我不知道如何给一个特定的视图控制器致敬,这样你就可以再次指向那个 viewController . 请在您的答案中附上代码片段

**** Swift 或 Objective-C 的答案都是可以接受的 ****

0 投票
2 回答
2339 浏览

ios - 如何将通用链接连接到 UIViewController?

*免责声明:我只在 iOS/XCode/Swift 中编码了几个星期

我有通用链接,点击我的应用程序外部的链接会打开应用程序,我在 AppDelegate 类中捕获 Url。

所以这一切都很好。

我的问题是......然后我如何重定向到正确的 UIViewController 并从我的 URL 向控制器传递一些信息?所有通用链接教程在到达那部分之前就停止了。

特别是我对 AppDelegate 的生命周期以及它与 UIViewController 的关系感到困惑。

我的应用程序有两个 UIViewController(这是对的吗?)一个 UINavigationController。

我试过的

我尝试在 AppDelegate 中处理 url 事件,并设置一个公共属性,然后在我的 ViewController 中访问 AppDelegate。但是,单击通用链接后,两者viewDidLoadviewWillAppear不会再次被调用:-/

从 AppDelegate 重定向到 ViewController 的最佳方法是什么?我的目标只是加载根视图控制器,但我需要从 URL 传递一些数据。如何?

0 投票
1 回答
697 浏览

ios - 如何在 iOS 模拟器中通过 XCUI 获得通用链接?

我们有一个应用程序允许它通过通用链接启动。它完美地工作。现在,我们希望在 iOS 模拟器中进行 XCUI 测试覆盖,这样我们就可以为开发人员节省随时准备 10 台不同 iOS 设备所需的时间。

因此,我们编写了一些 XCUI 测试。所有这些都通过了,但有一个令人痛苦的值得注意的例外。通过 iOS 模拟器的通用链接启动应用程序失败(它只显示 Safari 重定向而不是正在启动的应用程序)。但是,当苹果设备连接到 Xcode 时,测试每次都通过。

有没有人让它在模拟器上工作?

仅供参考,我们的 AppDelegate 很快,我们正在使用这个代表作为通用链接:

0 投票
2 回答
1867 浏览

linux - 如何在 GoDaddy 的网络托管服务上提供没有扩展名的文件?

在为 iOS 应用程序设置通用链接时,Apple 声明:

  • 创建一个apple-app-site-association文件,其中包含有关您的应用可以处理的 URL 的 JSON 数据。
  • 将apple-app-site-association文件上传 到您的 HTTPS Web 服务器。您可以将文件放在服务器的根目录或 .well-known 子目录中。

我们创建了一个名为“apple-app-site-association”的文件,没有扩展名,但如果导航到“ http://ourdomain.com/apple-app-site-association ”,我们会收到 404 file not found 错误。

Apple 指定不要在文件名中添加 .json。

我们看到另一个 SO 溢出答案,描述了对 IIS 的配置更改以提供不带扩展名的文件。但是,让这个文件从 GoDaddy 的 Linux 或 IIS 服务器正确提供服务的诀窍是什么?

0 投票
2 回答
519 浏览

xcode - 通用链接如何在 IOS 中工作?

我们按照苹果文档为我们的应用创建了通用链接:https ://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

它工作正常,当我点击链接时,我的应用程序成功打开。但是在我的应用程序的状态栏中,我得到了两个链接。1.在左上角,回到我收到链接的短信应用程序。2.其他在右上角,我的应用程序商店链接。

如果我点击链接 2,通用链接没有 lpnger 工作。

任何想法?

0 投票
3 回答
2790 浏览

ios - 无法使通用链接正常工作

我知道以前有人问过这个问题,并且我已经尝试了在这里、Apple 论坛和各种操作指南网站上可以找到的所有内容,但我仍然遗漏了一些东西,而且我束手无策。我希望有人能在某个地方发现错误。

我在 iPhone 6S 上使用 XCode 7.3.1 和 iOS 9.3.2。

会员中心 App IDs ID:com.hotelplanner.hotelplanner

App ID 有 Assoc。已启用域

与 Assoc 的开发供应配置文件。启用域的 iOS 团队配置文件:com.hotelplanner.hotelplanner

我在 XCode Build Settings 中选择的 Debug Provisioning Profile 与在成员中心启用了 App Domains 的配置文件相匹配。

Xcode Capabilities Associated Domains Applinks:www.hotelplanner.com

Xcode 权利

curl 下载 apple-app-site-association Titan:app nancysmithwp$ curl -v https://www.hotelplanner.com/.well-known/apple-app-site-association * Trying 69.56.156.14... * 已连接到 www.hotelplanner.com (69.56.156.14) 端口 443 (#0) * 使用 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 的 TLS 1.2 连接 * 服务器证书:*.hotelplanner.com * 服务器证书:Symantec Class 3 Secure Server CA - G4 * 服务器证书:VeriSign Class 3 公共主要证书颁发机构 - G5

我已将 iOS 部署目标设置为 9.0,因此不需要对其进行签名。

https://search.developer.apple.com/appsearch-validation-tool上的验证工具,给定 URL www.hotelplanner.com/Hotels/2446-in-Nassau-Bahamas.html 表示应用程序站点关联文件已通过。深层链接失败,并显示“无法提取深层链接所需的信息。”

笔记中的相同链接始终在 Safari 中打开。长按链接让我没有选择。

myAppDelegate 已实现 application:continueUserActivity:restorationHandler。

当我在我的设备上启动应用程序时,控制台中没有错误。

编辑添加:
我实现了 webcredentials 以查看是否可以获得更多见解,并且我在回调中收到一个错误,即 www.hotelplanner.com 不在我的权利中,但它在那里,并且它的目标复选框是放。此外,如果我将第一个参数保留为 NULL,以便它使用我的权利文件中的域,我会收到错误“未提供域”。

权利

0 投票
0 回答
75 浏览

ios - 通过 ios 内部分发中的通用链接可应用多少下载?

我已经成功分发了我的应用程序抛出通用(内部分发)链接,人们开始下载我的应用程序进行人群测试。

我想知道有多少用户可以下载应用程序抛出外部(通用)链接。

是否有任何限制/限制苹果必须下载该应用程序?或任何适用于下载的最大数量?如果是这样,可以下载多少个数,Apple 将如何识别发生的下载数?

如果有人在这方面分享您的经验,那就太好了。

提前致谢。