12
votes

Est-ce que `pod update` écrase mon code change lorsque une nouvelle version du POD est disponible?

J'ai ajouté Mkstorekit version 4.99 à mon projet à l'aide de cocoapodes. Mon podfile est composé de: xxx

mkstorekit dispose d'un fichier de configuration appelé mkstorekitconfigs.h qui doit être modifié à titre périodique et j'ai modifié le fichier de manière appropriée. Que se passera-t-il lorsque Mkstorekit publie une nouvelle version, disons 5.0, et j'exécute POD Update ? Est-ce que mes changements seront écrasés? Pourriez-vous décrire pourquoi oui ou pourquoi non?


1 commentaires

C'est une bonne question. Sa mauvaise conception que vous devez modifier le code source pour utiliser la bibliothèque.


3 Réponses :



5
votes

Si je comprends, c'est un problème connu et que l'on dit aussi: "C'est une sorte de mauvaise pratique de configurer la 3ème partie de la liberté dans le fichier d'en-tête".

Ainsi, au début, vous pouvez regarder Ce commit . IMO C'est un meilleur moyen de le configurer. P>

Vous pouvez également ajouter votre fourchette en tant que POD en utilisant: P>

pod 'MKStoreKit.MyFork', :path => 'MKStoreKit.MyFork.podspec'


2 commentaires

Merci pour le lien avec cette version mkstorekit. Il existe d'autres valeurs codées en papier, principalement liées aux fichiers PHP (que si je ne veux pas utiliser PHP ???) qui ne sont pas adressés à la fourche de Troya2.


Pour quiconque en regardant cela maintenant, utilisez: chemin au lieu de: local



0
votes

Ceci est un ancien poste, mais j'ai une solution de contournement assez simple pour maintenir les modifications que vous faites sur des pods.

Comme mentionné, POD Update écrasera les modifications que vous avez apportées. Cependant, si vous utilisez git ce que j'aime faire, c'est commettre toutes mes modifications, à l'exception de mes changements de POD.

Une fois que les changements que sur ma branche sont les changements de pods, je bloque la POD change en exécutant git STASH SAVE "changements de cocoapod personnalisés, appliquer après chaque mise à jour de la POD" . Vous pouvez lui donner n'importe quel message que vous voudriez en modifiant le texte entre le "".

Cette commande a l'effet secondaire de la réinitialisation de votre répertoire de travail à la tête précédente, donc si vous souhaitez réappliquer ces cachettes. Vous pouvez simplement exécuter git Stash s'appliquent pour obtenir ces modifications dans, puis vous pouvez les engager à les enregistrer.

n'utilise pas git cache pop comme cela supprimera la cachette après l'application.

Maintenant, à un moment indéterminé à l'avenir, lorsque vous mettez à jour vos gousses et son temps d'appliquer à nouveau la cachette, ce que vous allez vouloir Pour faire, c'est exécuter Git Stash liste . Cela rendra une liste de toutes les cachettes que vous avez faites avec le plus récent étant nulle indexé. Vous verrez probablement quelque chose comme ceci: xxx

si les podix de cacao personnalisés changent Stash @ {0} parfait, vous pouvez simplement exécuter un git Stash s'appliquent à nouveau et vous obtiendrez ces modifications sur votre répertoire de travail. Sinon, une fois que vous avez trouvé quel numéro de stockage vos PODS changements vous pouvez appliquer cette stabs en exécutant git start s'appliquant STASH @ {1}

Appliquer des caches est plus facile lorsque vous avez un travail propre lorsque vous avez un bon fonctionnement. Répertoire sur la même branche, mais cela n'est pas requis. Cette page donne une bonne description de git cachette et comment l'utiliser autrement.


0 commentaires