web-dev-qa-db-fra.com

Modification de fichiers verrouillés à partir d'un framework CocoaPods

J'ai un espace de travail Xcode qui utilise CocoaPods pour inclure plusieurs frameworks tiers. J'aimerais éditer une ligne de code source dans l'une de ces dépendances. Cependant, lorsque je le fais, Xcode me prévient que le fichier est verrouillé et que toutes les modifications apportées ne seront peut-être pas enregistrées. Ma question est donc la suivante: mes modifications du code source seront-elles ignorées lors de l'installation/de la mise à jour d'un pod? Sinon, y a-t-il un autre scénario, éventuellement non lié à CocoaPods, qui annulerait mes modifications? Et enfin, existe-t-il un moyen efficace de modifier le code source sans rencontrer de tels problèmes?

Merci d'avance.

16
17nisa

Vous ne pouvez pas modifier le fichier Original Pod. Si vous souhaitez ajouter quelques fonctionnalités supplémentaires, vous devez créer ce référentiel particulier.

Suivez les étapes pour le faire:

  1. Recherchez la bibliothèque que vous souhaitez utiliser sur Git.
  2. Bibliothèque Fork.
  3. Mettez à jour Podfile en vous référant à votre version forkée. Supposons que je veuille créer une bibliothèque GPUImage. Puis pointez votre fork dans Podfile comme indiqué.

pod 'GPUImage',: git => ' https://github.com/UserName/GPUImage.git '

  1. Faites vos changements.
  2. Commit/Push vos modifications à votre repo forked.
  3. Soumettez une demande d'extraction à l'auteur original de Library.
  4. Si la demande d'extraction est acceptée et que le pod est mis à jour, rétablissez votre podfile pour qu'il utilise le pod public.

Vous pouvez créer une catégorie (Objective C) ou une extension (Swift) pour étendre ou ajouter des fonctionnalités à une classe existante.

21
technerd

Vous pouvez faire cela simplement. Il suffit de modifier le code src des pods. Basculez vers un autre brach et revenez en arrière. Xcode reconstruirait les pods avec votre code modifié. Si vous souhaitez revenir en arrière, vous devez supprimer le pod de Podfile, exécuter pod install. Puis rajouter un pod, exécuter pod install. Cette solution est juste pour le débogage. Pour permament, vous devriez prendre la réponse de @technerd

1
Jules

En fait, il existe un autre moyen de modifier la bibliothèque selon vos besoins personnels et d’obtenir les mises à jour futures à partir de la bibliothèque, tout en le maintenant via les cocoapods.

 enter image description here

J'ai écrit un article/tutoriel expliquant la même chose.

https://medium.com/@mihirpmehta/how-to-modify-cocoapods-library-within-pods-647d2bf7e1cb

0
mihir mehta