2010-01-24 3 views
4

Ma conjecture est que la réponse est "non", mais je me suis dit que je demanderais de toute façon. Disons que j'ai une bibliothèque partagée que plusieurs applications construisent dans leurs exécutables. Dites maintenant que cette bibliothèque partagée fournit une API à un service Web qui utilise le même nom d'utilisateur/mot de passe pour un nombre n d'applications qui utilisent la bibliothèque.Est-il possible de partager un ensemble de paramètres et un objet NSUserDictionary entre des applications?

Est-il possible de définir le nom d'utilisateur/mot de passe à un endroit tel que les paramètres du système et permettre à plusieurs applications d'accéder aux paramètres, ou NSUserDefaults est-il encore entièrement sandboxé?

Cela ressemble au genre de chose pour lequel le trousseau est destiné, mais pouvez-vous l'utiliser pour des données arbitraires par rapport aux données d'authentification juste? Un ensemble de paramètres peut-il être utilisé pour modifier les données de trousseau partagées entre les applications avec le même préfixe d'identifiant Apple?

Répondre

2

Vous pouvez stocker des données arbitraires dans le trousseau, et je jure que j'ai lu quelque part que les applications avec la même racine d'ID de paquet peuvent partager un trousseau. Ne peut pas pour la vie de moi trouver la référence maintenant.

Peut-être que je l'ai rêvé.

EDIT
Je suis sûr qu'il était dans les services KeyChain doc, mais toutes les références à paraître être parti.
A l'époque je pensais que c'était si intéressant que je notai vers le bas:

peut utiliser « identifiant d'application » pour partager l'accès entre plusieurs applications trousseau w. un seul ID d'application

C'est tout. Je ne l'ai pas encore vérifié, donc je ne suis pas sûr que cela signifie que vous pouvez faire et distribuer plusieurs applications qui utilisent un trousseau, ou si cela signifie simplement que les versions successives d'une application voient le même trousseau.

J'aimerais beaucoup pouvoir trouver la référence originale.

Voici un developer forum post qui dit que c'est possible.

+1

Merci. En fait, l'onglet Gérer les AppIDs sur le portail du programme (avec tous les certificats et les données d'approvisionnement) indique: «La partie ID d'ensemble de l'ID d'application peut être utilisée pour partager l'accès au trousseau entre plusieurs applications créées avec un ID d'application unique. , il peut être intégré dans tous les accessoires matériels externes auxquels vous souhaitez associer votre application iPhone OS. " Quoi qu'il en soit, merci! Il semble que je pourrais probablement implémenter un pseudo de NSUserDefaults qui utilise le keychain comme un magasin, ou quelque chose. – Nimrod

Questions connexes