NSBundle, plist et d'autres ressources en Obj-c Bibliothèque Statique

J'ai créé une bibliothèque statique dans Xcode, que je suis en mesure d'utiliser avec succès dans d'autres projets. Cependant, avec des ressources comme les plists, je trouve que je doit comprendre toutes les plists référencées dans ma bibliothèque dans le projet principal, où le projet est utilisé.

Dans mon projet de bibliothèque statique, j'ai mon plist inclus dans le "Copier Bundle de Ressources" de la phase de la cible. Dans mon code, voici ce que je fais:

NSBundle *mainBundle = [NSBundle mainBundle];
NSString *filePath   = [mainBundle pathForResource:@"MyClassParams" ofType:@"plist"];

NSMutableDictionary* params = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];

Si j'utilise mainBundle et la MyClassParams.plist est inclus dans le projet principal, tout est bon. Si MyClassParams.plist est inclus dans le projet d'une bibliothèque, il ne fonctionne pas.

Sur l'hypothèse que [NSBundle mainBundle] faisait référence à la mauvaise méthode statique à utiliser, je l'ai remplacé par:

NSBundle *mainBundle = [NSBundle bundleForClass:[MyClass class]];

Cela ne fonctionne pas non plus.

Donc, est-il possible d'inclure un fichier plist ou de toutes autres ressources avec une bibliothèque statique -- ou dois-je inclure tout ce dont j'ai besoin dans le projet où la lib est utilisé?

  • Le démarrage d'une prime à la question -- est la réponse reste correct comme de l'iOS 4.2?
InformationsquelleAutor Vickram | 2009-11-01