Ich habe eine statische Bibliothek in Xcode erstellt, die ich erfolgreich in anderen Projekten verwenden kann. Bei Ressourcen wie plists finde ich jedoch, dass ich alle in meiner Bibliothek referenzierten Plisten in das Hauptprojekt einbeziehen muss, in dem das Projekt verwendet wird.NSBundle, plist und andere Ressourcen in einer Obj-c statischen Bibliothek
In meinem statischen Bibliotheksprojekt habe ich meinen Plist in die Phase "Copy Bundle Resources" des Ziels aufgenommen. In meinem Code, hier ist, was ich tue:
NSBundle *mainBundle = [NSBundle mainBundle];
NSString *filePath = [mainBundle pathForResource:@"MyClassParams" ofType:@"plist"];
NSMutableDictionary* params = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
Wenn ich Main und die MyClassParams.plist ist im Hauptprojekt enthalten verwenden, ist alles gut. Wenn MyClassParams.plist im Bibliotheksprojekt enthalten ist, funktioniert es nicht.
NSBundle *mainBundle = [NSBundle bundleForClass:[MyClass class]];
Diese Arbeit hat auch nicht:
Unter der Annahme, dass [NSBundle Main] wurde die falsche statische Methode verweisen, ich habe es mit Fassung zu verwenden.
Also, ist es möglich, ein plist oder andere Ressourcen mit einer statischen Bibliothek zu integrieren - oder muss ich alles, was ich brauche, in das Projekt einbeziehen, in dem die lib verwendet wird?
Starten eines Kopfgeldes mit der Frage - ist die akzeptierte Antwort immer noch korrekt von iOS 4.2? –