2017-03-02 8 views
2

J'essaye de créer un cadre statique qui utilisera certaines images pour montrer dans sa vue. J'ai créé un MyFrameworkBundle.bundle à partir de XCode en ajoutant la cible dans mon projet sdk. Ajouté toutes mes images dans le paquet et créé le paquet et donné à cette cible un identifiant de paquet my.frameworkbundle. Maintenant, je suis en train de chercher ce paquet dans mon cadre comme suit:NSBundle bundleWithIdentifier renvoyant null pour le cadre statique et le regroupement de ressources

NSBundle * mybundleRef = [NSBundle bundleWithIdentifier:@"my.frameworkbundle"]; 

Puis-je mettre les paquet-cadre et des ressources dans un autre projet et a essayé d'exécuter la fonction avec la ligne ci-dessus. Il retourne toujours nul. Même si j'essaie de chercher cadre comme code ci-dessus i.e. .:

NSBundle * mybundleRef = [NSBundle bundleWithIdentifier:@"my.framework"]; 

Cela m'a aussi donné nulle. Mais si je change ce cadre de statique à dynamique, il me donne toujours le bon paquet. Comme je vais l'utiliser avec Unity, je ne veux pas d'un framework dynamique pour éviter le script de post-traitement.

J'ai aussi essayé le code suivant:

NSString *bundleString =[[NSBundle mainBundle] pathForResource:@"MyFrameworkBundle" ofType:@"bundle"]; 
NSBundle * PlayCacheBundle = [NSBundle bundleWithPath:bundleString]; 

mais il donne l'erreur

pas d'image correspondante trouvée

Détails système:

  • Xcode: 8.2 .1
  • MacOS: 10.12 (Sierra)

Répondre

0

Utilisez cette option pour spécifier le faisceau dynmically:

NSBundle *mybundleRef = [NSBundle bundleForClass:[self class]] 
+0

Merci pour la réponse J'ai testé ce code avec mon cadre que les classes ne sont que dans le cadre non ressources bundle 'NSBundle * myBundleRef = [NSBundle bundleForClass: [classe MyFrameworkClass]];' 'NSLog (@" Résultat du bundle:% @ ", myBundleRef);' Mais en retour, il me donne un NSBundle avec le chemin de mon principal projet (le projet dans lequel j'ai importé le cadre), pas mon cadre ork. J'ai également essayé d'obtenir l'image avec ce paquet 'UIImage * Imageref = [UIImage imageNamed: @" msg.png "inBundle: myBundleRef compatibleWithTraitCollection: nil];' Son renvoie null dans ImageRef. –