[Résolu] Problème de resources avec cocoapods, problème avec le script "Copy Pods resources&#

colas_colas_ Membre
octobre 2014 modifié dans Objective-C, Swift, C, C++ #1

Bonjour,


 


J'ai un problème avec un xib d'un de mes pods locaux qui n'est pas copié dans le mainBundle de mon application. Ce problème est arrivé hier alors qu'avant tout marchait bien. J'ai dû faire un `pod install` de trop (`pod update` ne marche pas chez moi, mais je suis en train de le corriger ---> pas d'espaces dans les noms de subspec !!)


 


J'utilise la commande `resources` de cocoapods.


 


Voici un bout du podspec incriminé :



ss.subspec 'MyCBDLockManager' do |sss|
sss.source_files = 'Classes/Auxiliary_classes/MyCBDLockManager/**/*.{h,m}'
sss.resources = 'Classes/Auxiliary_classes/MyCBDLockManager/MyCBDLockManager.xib
end

J'ai bien vu dans la documentation que cette commande est déconseillée. Je l'ai donc changée en ceci :



ss.subspec 'MyCBDLockManager' do |sss|
sss.source_files = 'Classes/Auxiliary_classes/MyCBDLockManager/**/*.{h,m}'
sss.resource_bundles =
{'MyCBD_BSManagedDocument' => 'Classes/Auxiliary_classes/MyCBDLockManager/MyCBDLockManager.xib'}
end

Du coup, vais-je devoir modifier mon code où j'appelle le .xib ? Jusqu'à  maintenant je le chargeais toujours depuis `nil`...


 


Bref, il semble que les choses aient bougé du côté de cocoapod pour la gestion des .xib, etc. Avant la commande `resources` marchait. Maintenant, dans le target il n'y a aucune phase "copy bundle resources" et le fichier et bien manquant à  l'appel.


 


Voilà  c'était un message pour vous tenir au courant et pour avoir vos lumières, éventuellement.


 


Colas


 


PS : je suis en 0.34.2


 


 


 


Réponses

  • Chose étonnante !!!


     


    Sur un autre projet où j'utilise la syntaxe `resources`, la ressource (un .momd) est bien copiée dans le mainBundle. Mais, dans les targets du pod en question, il n'y a pas de phase "copy bundle resources"....


     


     


    Du coup, je crois que j'ai la solution !!!


    Les ressources ne sont pas copiées via une  phase "copy bundle resources" mais via un script .sh généré par cocoapods. Donc, ce script doit être présent dans le projet qui marche et absent sur l'autre...


  • Après un suppression du workspace et un pod install, cette phase de script pour copier les ressources des pods est encore absente...


  • J'ai réussi à  l'aide de ce post.


     


    L'idée c'est que supprimer le dossier Pods, le workspace et le fichier pods.lock n'est pas suffisant. Il faut, après avoir fait cela, cleané le projet de toute trace de pod...


    Ensuite, un pod install fait l'affaire.


Connectez-vous ou Inscrivez-vous pour répondre.