Я использую Handoff в своих приложениях для iOS и Mac. iOS -> iOS и iOS -> Mac работают без нареканий! Это здорово. Однако Mac -> iOS никогда не работает. Я тестировал как на El Capitan, так и на Sierra на разных машинах. Если я добавлю URL-адрес веб-страницы в качестве запасного варианта, Safari в iOS подхватит действие, но родное приложение 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. Это сделало мой выбор родного приложения соответствующим url из Mac Safari, но родное приложение Mac по-прежнему не может выполнить передачу в родное приложение iOS. У меня нет идей, у кого-нибудь есть идеи, почему это может происходить? На iOS я использую 10.2. Кстати, я не мог' t заставить Handoff вообще работать на iOS 9.
С уважением Рафаэль Полезно Бесполезно