J'ai vu tous les autres messages de SO sur le partage des données NSUserDefaults entre les applications hôtes et les extensions d'application, mais le mien ne fonctionne toujours pas. Voici tout ce que j'ai fait:Pourquoi les groupes d'applications ne fonctionnent-ils pas dans mon extension WatchKit?
- Activer les groupes d'applications sur l'onglet «Capacités» de Xcode pour l'extension et l'application hôte.
- Définissez le nom du groupe sur "group.com.mycompany.foo" et confirmez que l'extension et l'application hôte sont ajoutées au groupe.
- Confirmé qu'un fichier de droits existe pour les deux avec la clé "com.apple.security.application-groups" définie sur mon nom de groupe d'applications. (Pour ce que ça vaut, j'utilise aussi les capacités de trousseau partagé entre l'application d'extension et l'application hôte - donc je ne crois pas que ce soit un problème avec les droits)
- Régénère tous les profils d'approvisionnement. En fait, j'ai même révoqué tous mes certificats et régénéré tous les profils après la mise en place du groupe d'applications.
Et après tout cela, ce code ne fonctionne toujours pas:
// in the host app
NSUserDefaults *testDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.mycompany.foo"];
[testDefaults setObject:@"TEST" forKey:@"foo"];
[testDefaults synchronize];
puis:
// in the extension
NSUserDefaults *testDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.mycompany.foo"];
NSLog(@"%@", [testDefaults objectForKey:@"foo"]);
qui se traduit par:
(null)
Quand je Regardez dans les préférences Xcode, je remarque ces icônes, dont aucune ne possède l'icône "App Group": 01 Mais comme je l'ai déjà dit, je suis allé jusqu'à effacer mon trousseau, les certificats et les profils de provisionnement après la configuration du groupe d'applications. Donc, si c'est en fait le problème, comment puis-je ajouter le droit aux profils?
Qu'est-ce qui me manque? Je suis fraîche d'idées.
Aide?
EDIT: Les groupes d'accès fonctionnent dans mon extension & Today, mais pas dans l'extension WatchKit. Je n'ai aucune idée pourquoi, et tous les paramètres de construction semblent être configurés de la même manière.
EDIT 2: Pour ceux qui insistent sur le fait que mes capacités ne sont pas correctement configurés, voici une capture d'écran:
avez-vous essayé de cliquer sur le « Refres h "dans le coin inférieur gauche de la liste des profils d'approvisionnement de Xcode? –
Probablement un million de fois. :( – user2393462435
Il n'y a pas d'icône de groupes d'applications dans la colonne Droits dans la vue que vous avez attachée (au moins je ne l'ai pas et appgroups fonctionne pour moi.) Retour au problème: êtes-vous sûr que l'application hôte et la cible d'extension signé avec le bon profil d'approvisionnement et l'identité de signe de code? Et par correct je veux dire 'com.mycompany.foo.myapp' et' com.mycompany.foo.myapp.myappwatchkitextension'. Le caractère générique ne fonctionnera pas ici – lvp