2017-05-25 2 views
0

J'ai une application MacOS qui partage certaines données avec une extension Safari. Je ne suis pas sûr de ce que je fais mal, mais quand j'exécute mon extension Safari, ça revient à zéro. Voici le code que j'utiliseLes données partagées dans les groupes d'applications entre l'application mac et l'extension safari renvoient aucune

//in my main viewcontroller 
if let userDefaults = UserDefaults(suiteName: "$(TeamIdentifierPrefix)") { 
     userDefaults.set("---" as AnyObject, forKey: "distance") 
     userDefaults.set("---" as AnyObject, forKey: "altitude") 
     userDefaults.synchronize() 
} 

//in my Safari Extension 
if let userDefaults = UserDefaults(suiteName: "$(TeamIdentifierPrefix)") { 
     print(userDefaults.string(forKey: "distance")) 
     print(userDefaults.string(forKey: "altitude")) 

}

J'ai aussi essayé de changer le suiteName à « group.com.company.project », mais il revient toujours nul.

+0

Avez-vous pensé à ajouter la capacité des applications groupe pour l'application et l'extension? – Roee84

+0

Oui j'ai fait. A partir de, je l'ai oublié et puis j'ai eu une erreur, mais maintenant l'extension retourne juste – Morten

Répondre

0

Essayez d'utiliser un nom tel que .group (ex: ABC4343DEV.group)

+0

Cela l'a fait! Je reçois mes valeurs, mais je reçois toujours ce message de la console: "2017-05-27 10: 05: 15.001020 + 0200 myExtension [5794: 334369] [Paramètres par défaut] Impossible de lire les valeurs dans CFPrefsPlistSource <0x6080000feb80> (Domaine: ABC4343DEV.group, Utilisateur: kCFPreferencesAnyUser, ByHost: Oui, Container: (null)): L'utilisation de kCFPreferencesAnyUser avec un conteneur n'est autorisée que pour les conteneurs système, en se détachant de cfprefsd Facultatif ("---") Facultatif ("--- ")". Devrais-je m'inquiéter à ce sujet? – Morten

+0

Le msg interne d'Apple, ne vous inquiétez pas à ce sujet – Roee84