将数据从Apple Watch发送到iPhone

时间:2019-10-16 09:21:49

标签: ios swift iphone apple-watch watchos

我当前正在使用Xcode 11.1,并且在网上任何地方都没有看到此错误。

我希望能够将数据从Apple Watch发送到iPhone,因此我创建了一个使用sendMessage从Apple Watch到iPhone的应用程序。

在ViewController.swift中,我有

jobs:
- job: JobA
  timeoutInMinutes: 10
  pool: 
    name: Default
    demands: Agent.Name -equals PA0517
  steps:
  - bash: echo "JobA"

- job: JobB
  timeoutInMinutes: 10
  pool: 
    name: Default
    demands: Agent.Name -equals PA0517
  steps:
  - bash: echo "JobB"

在我的InterfaceController.swift中,

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        self.wcSession = WCSession.default
        self.wcSession.delegate = self
        self.wcSession.activate()
    }

    func session(_ session: WCSession, didReceiveMessage message: [String : Any], replyHandler: @escaping ([String : Any]) -> Void) {
        print(message["test"])
    }

我从中得到的错误是

    @IBAction func sendToPhone() {
        transferToPhone = ["test": "FROM WATCH"]
        wcSession.sendMessage(transferToPhone, replyHandler: {reply in print("done")}, errorHandler: {error in print(error.localizedDescription)})
        print("sent data over to phone")
    }

但是,iPhone和Watch应用程序均已安装。我什至可以将数据从iPhone发送到Watch应用。目前,我将iPhone的UpdateApplicationContext用于Watch并将iPhone的SendMessage用于iPhone。

2 个答案:

答案 0 :(得分:0)

我无法在Xcode 11.1(11A1027)中重现此内容。我建议在开发人员工具→模拟器下的反馈助手中提交错误报告。确保在终端中运行xcrun simctl diagnose,然后将输出的Simulator日志附加到报告中。

也许暂时可以下载最新的Xcode 11.2 beta版作为解决方法?

答案 1 :(得分:0)

检查是否在Xcode项目的WatchKit扩展目标中选中了“支持无需安装iOS应用程序即可运行”。 如果已选中,请取消选中它。