【问题标题】:Update a label on the IPhone when pressing a button on the Apple Watch按下 Apple Watch 上的按钮时更新 iPhone 上的标签
【发布时间】:2015-04-29 22:17:55
【问题描述】:

我正在构建一个应用程序来计算你进了多少球。

我想知道发送收集到的数据的最佳方式是什么

Apple Watch 到 iPhone(并在 iPhone 上显示)

块引用

// Watchkit extension 

     var count = 1


  // a label
     @IBOutlet weak var goals: WKInterfaceLabel!

  // a button in the Apple Watch
     @IBAction func addCount() {

         goals.setText("\(count++)")
    }

  // IPhone View Controller
     @IBOutlet weak var yourTeamScore: UILabel!
  • 我已经为扩展程序和 Apple Watch 设置了我的应用组。

  • 我应该使用 NSUserDefaults 将数据存储在扩展程序上,然后将其发送到 iPhone 应用程序(视图控制器)吗?

  • 是否可以使用 openParentApplication:reply 使用 Apple Watch 上收集的数据更新 iPhone 上的标签

【问题讨论】:

    标签: watchkit


    【解决方案1】:

    此链接可能对您有所帮助:

    https://www.netfunctional.com/2015/04/watchkit-apps-sending-data-from-apple-watch-to-iphone/

    基本上,您应该在单击按钮时从 watchkitextension 中调用此方法:

     [WKInterfaceController openParentApplication:yourDictionary reply:^(NSDictionary *replyInfo, NSError *error) {
            ....
        }];
    

    iPhone 应用会调用:

    - (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *replyInfo))reply
    {
       //Code to update the label
    }
    

    【讨论】:

      【解决方案2】:

      除了 Javier 的回答,您还可以尝试使用 Darwin Notifications。 GitHub 上有一个名为 MMWormhole 的出色项目,它封装了这些通知,并可以轻松地从 WatchKit 应用程序和 iPhone 来回传递数据:https://github.com/mutualmobile/MMWormhole

      【讨论】:

        猜你喜欢
        • 2014-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多