6

自从更新到 iOS 13 和 watchOS 6 后,对于我构建的任何应用程序,我都无法让 Handoff 功能从 Apple Watch 运行到 iPhone。该功能以前适用于我现有的自定义构建应用程序,但自操作系统更新后不再有效。我可以确认支持 Apple Watch 和 iPhone 上的 Handoff 的 Apple 本机应用程序工作正常,因此我排除了任何 iCloud 登录/帐户问题。为了帮助解决问题并隔离问题,我最终构建了一个演示 iOS 和 watchOS 应用程序来测试 Handoff 功能。我确保在 NSUserActivityTypes 下的 iOS 应用程序的 info.plist 中包含用户活动,并且我使用的是相同的开发人员团队 ID。我也在使用最新的 Xcode 版本 11.2.1。当下面的 WKInterfaceController 可见时,Handoff 图标应该出现在我的 iPhone 上的 App Switcher 中,但它没有出现。自更新以来我错过了什么吗?谢谢。

这是我的 WatchKit 代码。

import WatchKit
import Foundation

class InterfaceController: WKInterfaceController {

    var userActivity: NSUserActivity?
    
    override func awake(withContext context: Any?) {
        super.awake(withContext: context)
        
        // Configure interface objects here.
        userActivity = NSUserActivity(activityType: "HandoffDemo.Handoff")
        userActivity?.title = "Activate Handoff"
        userActivity?.isEligibleForHandoff = true
        userActivity?.userInfo = ["key":"Hello"]
        userActivity?.requiredUserInfoKeys = ["key"]
        userActivity?.becomeCurrent()

    }
    
    override func willActivate() {
        // This method is called when watch view controller is about to be visible to user
        super.willActivate()
        update(userActivity!)

    }
    
    override func didDeactivate() {
        // This method is called when watch view controller is no longer visible
        super.didDeactivate()
    }

}

iOS 应用上的 Info.plist。 在此处输入图像描述

4

0 回答 0