NSUserDefaults funktioniert nicht mit Xcode Beta mit Watch OS2

Ich habe gerade die neueste Beta von Xcode installiert, um @ zu testeSwift 2 und die Verbesserungen im Apple Watch-Entwicklungsbereich.

Ich habe tatsächlich eine harte Zeit herauszufinden, WARUM dieses grundlegendeNSUserDefaults Methode zum Teilen von Informationen zwischen iOS undWatch OS2 funktioniert nicht.

Ich folgteDiesSchritt für Schrit Lernprogram, um zu überprüfen, ob ich dabei etwas verpasst habe, z. B. die gleiche Gruppe sowohl für die Telefonanwendung als auch für die Nebenstelle zu aktiviereNICHT.

Folgendes habe ich für den ViewController in der iPhone-App geschrieben:

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var lb_testo: UITextField!
    let shared_defaults:NSUserDefaults = NSUserDefaults(suiteName: "group.saracanducci.test")!
    var name_data:NSString? = ""

    override func viewDidLoad() {
        super.viewDidLoad()

        name_data = shared_defaults.stringForKey("shared")
        lb_testo.text = name_data as? String
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func upgrade_name(sender: AnyObject) {
        name_data = lb_testo.text
        shared_defaults.setObject(name_data, forKey: "shared")

        lb_testo.resignFirstResponder()
        shared_defaults.synchronize()
    }
}

Und hier ist, was ich im InterfaceController für WatchKit habe:

import WatchKit
import Foundation

class InterfaceController: WKInterfaceController {
    @IBOutlet var lb_nome: WKInterfaceLabel!
    let shared_defaults:NSUserDefaults = NSUserDefaults(suiteName: "group.saracanducci.test")!
    var name_data:NSString? = ""

    override func awakeWithContext(context: AnyObject?) {
        super.awakeWithContext(context)
    }

    override func willActivate() {
        super.willActivate()

        if (shared_defaults.stringForKey("shared") != ""){
            name_data = shared_defaults.stringForKey("shared")
            lb_nome.setText(name_data as? String)
        }else{
            lb_nome.setText("No Value")
        }
    }

    override func didDeactivate() {
        super.didDeactivate()
    }
}

Ich habe einige Tests gemacht und es scheint, als würden die iOS-App und das Watch-OS verschiedene Gruppen ausnutzen ... Sie geben keine Informationen weiter, sie speichern sie lokal.

Ist jemand mit dem gleichen Problem? Irgendeine Idee, wie man es repariert?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage