O NSUserDefaults não funciona no Xcode beta com o Watch OS2
Acabei de instalar a versão beta mais recente do Xcode para tentarSwift 2 e as melhorias feitas na seção de desenvolvimento do Apple Watch.
Na verdade, estou tendo dificuldade para descobrir POR QUE esse básicoNSUserDefaults
método para compartilhar informações entreiOS eAssista OS2 não está funcionando.
eu seguiestapasso a passo tutorial para verificar se perdi alguma coisa no processo, como ativar o mesmo grupo para o aplicativo de telefone e a extensão, mas eis o que obtive:NADA.
Aqui está o que eu escrevi para o ViewController no aplicativo para iPhone:
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()
}
}
E aqui está o que eu tenho no InterfaceController for WatchKit:
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()
}
}
Fiz alguns testes e parece que o aplicativo iOS e o Watch OS aproveitam diferentes grupos ...eles não estão compartilhando informações, eles armazenam localmente.
Alguém está tendo o mesmo problema? Alguma idéia de como consertar isso?