Enregistrer et Charger des Données sur, aujourd'Hui, des Extensions (iOS 8)
Est-il possible d'enregistrer et de charger des données sur aujourd'Hui l'Extension de l'aide NSUserDefaults?
Après la fermeture du Centre de Notification, le widget se comporte comme une application qui est mis fin, de sorte que toute les résultats des données perdues. Comment pourrais-je résoudre ce problème?
C'est mon code:
NSUserDefaults *defaults;
- (void)viewDidLoad {
[super viewDidLoad];
defaults = [NSUserDefaults standardUserDefaults];
NSArray *loadStrings = [defaults stringArrayForKey:@"savedStrings"];
if ([loadStrings objectAtIndex:0] != nil) {
[display setText:[NSString stringWithFormat:@"%@", [loadStrings objectAtIndex:0]]];
}
if ([loadStrings objectAtIndex:1] != nil) {
calculatorMemory = [NSString stringWithFormat:@"%@", [loadStrings objectAtIndex:1]].doubleValue;
}
}
- (IBAction)saveData:(id)sender {
NSString *displayString;
NSString *memoryString;
NSArray *saveStrings = [[NSArray alloc] initWithObjects: displayString, memoryString, nil];
defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:saveStrings forKey:@"savedStrings"];
[defaults synchronize];
}
double possible de la Communication et la persistance des données entre les applications avec App Groupes
OriginalL'auteur Massimo Piazza | 2014-06-05
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser l'application identificateur de groupe à la place de la com.*
Par exemple:
N'oubliez pas de synchroniser lorsque vous stockez des données
J'ai suivi les étapes et cela ne fonctionne pas. Je suis en train de travailler avec le clavier de l'application de l'extension. Pensées?
avez-vous activer l'Application du groupe de projet dans xcode capacités pour les deux contenant de l'application et d'extension du clavier ?
oui je l'ai fait. Est-il possible que l'utilisateur par défaut ne fonctionnent pas pour les extensions clavier?
Bon tutoriel sur ce sujet glimsoft.com/06/28/ios-8-today-extension-tutorial
OriginalL'auteur BenjG37
Vous avez besoin d'ajouter l'Application Groupe de trucs détaillée ici et puis si elle a effectivement travaillé (assez douteux en vertu de la bêta), il devrait vous permettre de partager NSUserDefault de données comme normal entre l'hôte et le widget.
Edit: Normal NSUserDefaults ne pas travail. Apple a mis en œuvre une nouvelle méthode. Pour l'utiliser, il suffit de redéfinir votre NSUserDefaults exemple comme ceci:
Ne fonctionne pas ici.
Assurez-vous que l'app groupes sont configurés correctement et les droits appropriés sont correctement configuré pour votre application cible et de votre objectif d'extension, ainsi que dans votre App Id et les profils de configuration.
Cela ne semble pas fonctionner sur iOS Clavier Extensions
OriginalL'auteur Sirens
Pour quiconque vous vous demandez comment dans le monde ne vous enregistrer et obtenir les valeurs ensuite, regardez ce code.
Dans votre app ajouter à enregistrer tout ce que vous voulez dans votre *.m fichier.
Dans l'aujourd'hui de votre widget sous TodayViewController.m dans le viewDidLoad ajouter ce.
OriginalL'auteur Sam B
Vous premier besoin de l'Application des Groupes de place pour les deux cibles (application et l'extension).
Ensuite, utilisez le
pour obtenir les paramètres par défaut de l'objet dont vous pouvez lire/écrire comme d'habitude.
Si vous voulez être avisé des modifications apportées aux paramètres par défaut, utilisez la
NSUserDefaultsDidChangeNotification
dans votre widget (ou l'application).Étape par étape tutoriel expliquant tout cela, jetez un oeil à ce post de blog.
eh bien, c'est bizarre. Qu'est-ce exactement ne fonctionne pas? Aussi, le tutoriel (ainsi que cette SORTE de question) est aujourd'Hui extensions, le clavier sont beaucoup plus limitées - peut-être qu'ils ont une certaine limite sur NSUserDefaults ou quelque chose.
Lukas - pouvez-vous obtenir les paramètres utilisateur de travailler sur une extension du clavier? Je l'ai testé et il ne peut pas faire un essai réussi de cas.
simulateur fonctionne..appareil ne fonctionne pas... obtenir null
Avez-vous essayé de travailler avec
NSUserDefaultsDidChangeNotification
s? Je ne reçois pas les notifications et il semble que d'autres gens ne le font pas non plus, mais je ne pouvais pas trouver toute la documentation officielle, donc je suis encore à se demander si c'est possible en quelque sorte.OriginalL'auteur Lukas Petr
@edukulele
Aujourd'hui, l'Extension et la Principale application de fonctionner sur deux processus. Aujourd'hui, l'Extension ne peuvent pas recevoir de NSUserDefaultsDidChangeNotifications. J'ai essayé d'utiliser MMWormhole. C'est très bon.
Ma réponse inclure cette librairie. Comment utiliser la bibliothèque devez visiter ce lien.Je pense très facile.Maintenant, j'ai déjà supprimer ce lien.
OriginalL'auteur minus_one