gpt4 book ai didi

ios - native Mac 应用程序无法切换到 native iOS 应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:21 24 4
gpt4 key购买 nike

我正在我的 iOS 和 Mac 应用程序中采用 Handoff。 iOS -> iOS 和 iOS -> Mac 运行完美!这很棒。但是,Mac -> iOS 从不工作。我已经在不同的机器上对 El Capitan 和 Sierra 进行了测试。如果我添加一个网页 URL 作为后备,iOS 中的 Safari 会获取事件,但 native iOS 应用程序不会显示。我在 Mac 应用程序中使用这段代码

class ViewController: NSViewController {  
override func viewDidAppear() {
super.viewDidAppear()
self.startUserActivity()
}
func startUserActivity() {
let userActivity = NSUserActivity(activityType: "net.myapp.myactivitytype")
userActivity.isEligibleForHandoff = true
userActivity.isEligibleForSearch = false
userActivity.isEligibleForPublicIndexing = false
userActivity.title = "Handoff test"
userActivity.userInfo = ["key": "value"]
userActivity.requiredUserInfoKeys = Set<String>(arrayLiteral: "key")
userActivity.webpageURL = URL(string: "https://myapp.net/myurl") // I can pick this up in mobile safari
self.userActivity = userActivity
}
override func updateUserActivityState(_ userActivity: NSUserActivity) {
userActivity.addUserInfoEntries(from: ["key":"Updated value"])
super.updateUserActivityState(userActivity)
}
}

在 iOS 方面,我已经使用 applinks:myapp.net 处理通用链接,并尝试添加 activitycontinuation:myapp.net 以及(以及 apple-app-site-association 文件上的正确配置。这使我的 Native 应用程序从 Mac 的 Safari 获取相应的 url,但原生 Mac 应用程序仍然无法切换到原生 iOS 应用程序。我没有想法,任何人都知道为什么会发生这种情况?在 iOS 上,我使用的是 10.2。顺便说一句,我根本无法在 iOS 9 上使用 Handoff。

最好的问候拉斐尔

最佳答案

我终于解决了。答案与接受的答案所暗示的签名配置文件无关。

我向 Apple 报告了一份错误报告,解释了整个情况,Apple 告诉我我的 iOS 应用程序的 info.plist 根本没有声明 NSUserActivityTypes,而我的 Mac 应用程序的 info.plist 正确声明了 NSUserActivityTypes,导致切换只能工作从 iOS 到 Mac,从不从 Mac 到 iOS。

此问题是由于 iOS 版本的应用程序未在 info.plist 中声明事件类型,导致 iOS 设备不知道将切换交给哪个应用程序。

在左侧导航面板中的 Xcode 项目中,我打开了 info.plist,NSUserActivityTypes 确实已经存在。但是当我在项目文件夹中使用 Finder 搜索它时,我意识到我的项目中有多个 info.plist 文件。然后我使用 Finder 实际进入我的项目文件夹并尝试找到这个 info.plist 文件,但是当我在 projectName/projectName 中找到一个文件时,它打开了另一个我最初无法通过 Xcode 项目导航器访问的 info.plist 文件。不同的 info.plist 文件没有 NSUserActivityTypes,所以我添加了它,woala~ handoff 终于可以从 Mac 到 iOS 了!很奇怪我的项目中有多个伪造的 info.plist。我的真实信息 plist 对 Xcode 隐藏了...

关于ios - native Mac 应用程序无法切换到 native iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41720356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com