ios – 将数据传递给Apple Watch应用程序

我正在尝试将数据从我的应用程序传递到我的Apple Watch应用程序。基本上,我使用与创建今天的窗口小部件相同的方法,所以我通过NSUserDefaults传递数据。

问题是,当我运行我的应用程序时,数据不会按照我的期望更新Watch应用程序中的标签。

这是我有什么

override init(context: AnyObject?) {
    // Initialize variables here.
    super.init(context: context)

    // Configure interface objects here.
    NSLog("%@ init", self)

    var defaults = NSUserDefaults(suiteName: "group.AffordIt")
    var totalBudgetCalculation = ""
    if (defaults!.stringForKey("totalBudgetWidget") != nil) {
            println("Worked")
        totalBudgetCalculation = defaults!.stringForKey("totalBudgetWidget")!
        initialBudgetLabel.setText("Initial: \(totalBudgetCalculation)")
    }

    var currentBudgetCalculation = ""
    if (defaults!.stringForKey("currentBudgetWidget") != nil) {
        currentBudgetCalculation = defaults!.stringForKey("currentBudgetWidget")!
        currentBudgetLabel.setText("Current: \(currentBudgetCalculation)")
    }
}

我尝试将此代码放在willActivate()中,但是这似乎并没有什么不同。

任何人都知道我在哪里错了?

我使用你的方法使它工作。我想有几件事你可以检查:

1)您是否在设置值后同步默认值:

defaults?.synchronize();
NSLog("%@ ", defaults?.dictionaryRepresentation())

2)您是否在应用和扩展程序中启用了应用程序组?

3)在构建NSDefaults时,是否使用正确命名的应用程序组?例如,我使用:

NSUserDefaults(suiteName: "group.com.brindysoft.MyWatch");

一旦设置完毕,我运行该应用程序,将其设置为默认值,然后运行glain目标,从默认值读取该值,似乎工作!

enter image description here

>仍然卡住?检查您的苹果帐户中的应用程序组

http://stackoverflow.com/questions/27025526/passing-data-to-apple-watch-app

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ios – 将数据传递给Apple Watch应用程序