问题标签 [ios8-handoff]

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 投票
2 回答
1672 浏览

objective-c - 为 Web Browser-to-Native App Handoff (iOS 8) 设置 apple-app-site-association

我是证书和openssl的新手。

我想了解如何使用 openssl 命令使用iOS 信任的证书颁发机构颁发的身份的证书和密钥对JSON 文件进行签名。

如何获取我的身份的证书和密钥?就像 XCode 签署我的应用程序以进行分发一样吗?

请帮助我理解!

苹果文档链接:https ://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html#//apple_ref/doc/uid/TP40014338-CH2-SW10

0 投票
2 回答
1201 浏览

ios8 - 如何在 iOS 8 中设置 Web Browser-to-Native App Handoff

我正在尝试设置 Web Browser-to-Native App Handoff 但没有任何运气。我确定我只是错过了一步。这是我所做的

  1. 使用 Associated Domains 选项更新了我的 bundleId 并在开发站点上生成了新的配置文件
  2. 在 Xcode 中将我的域添加到 Capabilities 选项卡上的 Associated Domains 列表中
  3. 使用我的 bundleId 创建了 json.txt 文件,包括团队标识符
  4. 使用我用于 https 的密钥和证书来创建 json.txt 文件
  5. 将 apple-app-site-association 文件上传到站点根目录

我已经有 Native App-to-Native App Handoff 和 Native App-to-Web Browser Handoff 工作。我错过了什么?

这是我一直在处理的唯一文档。

https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html#//apple_ref/doc/uid/TP40014338-CH2-SW10

0 投票
0 回答
466 浏览

ios - Web to iOS Handoff 不适用于子域

我正在设置从网站到 iOS 的切换,我正在努力解决以下问题。网站 URL 将用户名作为子域:username1.domain.com。在 iOS 应用程序部分,我必须在权利中指定完全限定的域名:

接收设备上的本机应用程序必须通过在 com.apple.developer.associated-domains 权利中声明一个域来选择此行为。该权利的值具有格式“服务”:“完全限定的域名”,例如,activitycontinuation:example.com。

问题是,如果我指定 activitycontinuation:domain.com 并且用户在 username1.domain.com 上浏览,iOS 不会将其识别为我的应用声明的域。如果我在权利中明确指定 username1.domain.com,则切换仅适用于 username1.domain.com。有没有办法使它适用于 *.domain.com ?

0 投票
1 回答
425 浏览

ios - UIResponder 协助 - 未调用方法

我已经使用 NSUserActivity 实现了 HandOff,我最初直接在我的 ViewController 类中实现了以下方法,并且一切都按预期工作。

由于我计划实现许多 Activity 类型,我认为创建一个单独的类来实现这些方法而不是复制类似的代码会很有用,让我们称之为 HandOffClass。此类成功创建 NSUserActivity 并将其分配给特定 ViewController 的 UserActivity 属性。这几乎可以工作,但是上面的两个方法是由 UIResponder 实现的,并且当包含在 HandOffClass 中时不会被调用,如果直接在 ViewController 中实现,则一切都按预期工作。

所以我的问题是我对如何实现/子类 UIResponder 方法缺乏了解

我的方法是正确的还是有更好的方法来解决这个问题,我猜我的 HandOffClass 不包含在响应者链中?

感谢您的任何帮助或指导。

0 投票
3 回答
283 浏览

ios - 在切换期间关闭模态 UIViewController

我正在尝试将切换添加到我的应用程序。当我的应用程序被 Handoff 唤醒时,我需要关闭几个 ViewController 以返回位于我的视图层次结构中的 MKMapView。

我的视图层次结构如下所示:

+导航控制器

+--- MyMapViewController(包含我想去的 MKMapView,在 NavController 的顶部)

+--- MyTabbarViewController (它是一个有多个视图的标签栏...)

+--- MyOverviewViewController(由显示在 MyTabbarViewController 中的 VC 推送到我的 NacController 的堆栈上)

当 App 收到 UserActivity 时,显示的视图控制器是“MyChartViewController”。

要显示用户活动的结果,我需要转到 MyMapViewController 以显示有关 MapView 的一些信息。

我的问题是在调用 [navController popToRootViewControllerAnimated:TRUE] 之前找到一种简单的方法来关闭“MyChartViewController”和“MyDetailsViewController”;

我试过 [navController.visibleViewController dismissViewControllerAnimated:FALSE completion:Nil]; 但它只取消了 MyChartViewController,为什么?

navController.visibleViewController 是 MyDetailViewController。

我找到的唯一解决方案是调用: [MyChartViewControllerdismissViewControllerAnimated:FALSE completion:Nil]; AND [navController.visibleViewController dismissViewControllerAnimated:FALSE completion:Nil];

我的视图层次结构可能更复杂或不同,具体取决于触发 UserActivity 时用户在 App 中的位置。我期待找到一个可用于任何情况的简单解决方案。主要问题是解除模态视图控制器的堆栈。

我总是想回到位于 NavController 顶部的 MyMapViewController。

任何想法?

谢谢!

0 投票
0 回答
128 浏览

ios - 防止 Web 浏览器到本机应用程序切换

假设您在 domain 下有一个移动 Web 应用程序,在 domain 下有mobile.example.com一个桌面 Web 应用程序example.com

Web Browser-to-Native App Handoff 正在工作并捕获这些域下的所有路由。

如果您手动访问mobile.example.com,则该域下的所有后续链接都应保留在 Mobile Safari 中。然后,您会遇到example.com在正常情况下会在 Mobile Safari 中响应呈现的链接。启用 Handoff 后,它将使用 Native 应用程序打开。

有没有办法解决此问题并将其保留在 Mobile Safari 中?

0 投票
0 回答
748 浏览

ios - 了解关联域服务并创建自定义关联域服务

我一直在对 iOS 上的通用链接、切换和相关域进行大量研究。但是,许多文档确实深入探讨了与相关域相关的幕后实际发生的事情(好吧,我找不到文档)。

到目前为止,这是我的理解:

基于Universal LinksHand offSharing web credentials 文档,当涉及到关联域时,我们具有以下格式:

所以当使用通用链接时,服务是applinks. 当使用 hand off 服务时activitycontinuation。共享 Web 凭据时,该服务是webcredentials.

每当下载应用程序时,apple-app-site-association文件就会下载并存储在手机上,并保留注册表。例如,现在让我们使用通用链接。

假设我的应用在其关联的域部分注册:applinks:com.example. 现在让我们说,当我在一封电子邮件中获得一个链接www.example.com并按下它时,我假设手机上的操作系统首先检查applinks设备上所有保存的注册表,并且因为给定的应用程序注册到com.example它然后简单地路由注册com.example关联域的给定应用的 URL 。

问题1:这种直觉正确吗?

如果是这种情况,作为开发人员,通过创建自己的 Web 服务,我看不到任何问题,即mySpecialService:<Some-Domain>在我的apple-app-site-association文件中有类似的内容:

问题二:开发者可以创建自己的关联领域服务吗?还是 Apple 保留了相关的域服务?