2010-11-05 8 views
4

J'ai deux applications avec id-s: com.myCompany.mayApp et com.myCompany.mayAppPro. Comment puis-je utiliser un fichier pref com.myCompany.mayApp.plist pour deux de ces applications? Est-il possible d'utiliser la classe NSUserDefaults pour cela?Une préférence pour deux applications

Répondre

5

Jetez un oeil sur les méthodes suivantes NSUserDefaults:

- (NSDictionary *)persistentDomainForName:(NSString *)domainName; 
- (void)setPersistentDomain:(NSDictionary *)domain forName:(NSString *)domainName; 
- (void)removePersistentDomainForName:(NSString *)domainName; 

Ils vous permettent de lire et d'écrire dans un fichier de préférences avec un nom de domaine donné. Un exemple est de lire certaines préférences communes pour l'Apple iApps:

NSUserDefaults* prefs = [ NSUserDefaults standardUserDefaults ]; 
NSDictionary* iAppsPrefs = [ prefs persistentDomainForName: @"com.apple.iApps" ]; 
NSArray* recentPaths = [ iAppsPrefs objectForKey: @"iTunesRecentDatabasePaths" ]; 

Le code précédent lit le tableau de chemins récents pour les fichiers de base de données iTunes.

L'inconvénient de ces méthodes est qu'elles lisent et écrivent tout le contenu du fichier. Si le nombre d'éléments stockés n'est pas vraiment important, cela ne pose généralement pas de problème.

0

je pense que vous devrez utiliser les API CFPreference pour définir valeurs partagées, mais vous pouvez lire les valeurs à l'aide NSUserDefaults en ajoutant la suite au chemin de recherche de l'instance de NSUserDefaults partagée. Bien sûr, vous pouvez également lire les valeurs à l'aide des API CFPreference. Si vos préférences sont complexes et que vous voulez utiliser des liaisons de cacaos, vous pouvez aussi écrire votre propre interface qui enveloppe la configuration keys/value/domain/host/user.

Questions connexes