Lors de l ' installation du pod
, je reçois un avertissement du type Plusieurs spécifications ont été trouvées pour "
Cela signifie que j'ai plusieurs Podspecs dans ce répertoire
~/cocoapods/repo
Exemple de Podfile:
source 'https://github.com/CocoaPods/Specs.git' source '<Private Podspec>'
Ma question est la suivante p >
, comment cela fonctionnera dans ce cas source '<Private Podspec>' source 'https://github.com/CocoaPods/Specs.git' platform :ios, '9.0' target 'SDKDemo' do use_frameworks! pod '<Pod Name>' end
Je suis arrivé à la conclusion que l'ordre des sources affectera le choix du Podspec. Mais je veux clarifier ceci.
4 Réponses :
De mon côté, cette approche (changer l'ordre des sources) n'a jamais fonctionné.
J'avais besoin de spécifier la source de mon pod privé afin de fais-le fonctionner. La raison en est que mon pod privé enregistré dans my private specs repo a le même nom qu'un autre enregistré dans le repo public des spécifications des cocoapodes .
ie:
source 'https://github.com/CocoaPods/Specs.git' # public cocoapods specs repo source 'https://github.com/{:user}/specs.git' # my private specs repo platform :ios, '11.0' target 'MyAppTarget' do use_frameworks! # any other public pod ... pod 'PrivatePod', :source => 'https://github.com/{:user}/specs.git' end
C'est ce qui a résolu mon problème.
p>
Les guides CocoaPods ont la réponse:
L'ordre des sources est pertinent. CocoaPods utilisera la version la plus élevée d'un Pod de la première source qui inclut le Pod (indépendamment du fait que d'autres sources aient une version supérieure).
Quelle que soit la source que vous saisissez en premier, ce sera la première source que CocoaPods recherchera le pod.
Pour la question n ° 1: Puisque vous avez d'abord source '
, c'est ce qu'il utilisera.
Pour la question n ° 2: Puisque vous avez d'abord source 'https://github.com/CocoaPods/Specs.git'
, c'est ce qu'il utilisera.
Ce n'est absolument pas la bonne réponse au problème asekd. La bonne réponse a déjà été donnée et votée. (Suppression de plusieurs sources)
Dans la version 1.8.x de Cocoapods, j'ai résolu ce problème en changeant la source de
Cela dépend également des erreurs que vous recevez. Il est toujours utile de vérifier dans le dossier Supprimez simplement le référentiel principal et je n'ai jamais vu cet avertissement depuis source 'https://github.com/CocoaPods/Specs.git'
à source 'https://cdn.cocoapods.org/'
dans Podfile
~ / .cocoapods / repos
pour voir quels dépôts sont à l'origine des avertissements. Il se peut que vous ayez deux instances de votre podspec privé dans ~ / .cocoapods / repos
. Dans mon cas, j'ai eu ceci pod repo remove master
[!] Found multiple specifications for `GoogleUtilities (6.2.4)`:
- /Users/hientran/.cocoapods/repos/master/Specs/0/8/4/GoogleUtilities/6.2.4/GoogleUtilities.podspec.json
- /Users/hientran/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/6.2.4/GoogleUtilities.podspec.json
p >
J'avais à la fois la source "https://cdn.cocoapods.org/"
et la source "https://github.com/CocoaPods/Specs.git"
inclus dans Podfile
source 'https://cdn.cocoapods.org/' source 'https://github.com/CocoaPods/Specs.git'
Après avoir supprimé source 'https://github.com/CocoaPods/Specs.git'
, les avertissements ont disparu.