web-dev-qa-db-fra.com

Cacao podspec et chemin de dépendance

comment puis-je spécifier dans podspec un chemin local pour une dépendance?

comme: s.dependency 'MyLibrary',: path => '../MyLibrary'

merci

14
Danilo

Vous devez utiliser le mot clé :path dans votre Podfile:

pod 'AFNetworking', :path => '~/Documents/AFNetworking/AFNetworking.podspec'

Astuces: Si vous ne connaissez pas le chemin, vous pouvez glisser-déposer le fichier dans votre Podfile et il sera affiché.

MODIFIER

Je n'ai pas bien compris ce que demandait le PO, voici la réponse correcte:

  1. Placez la dépendance locale dans le répertoire racine du dossier de votre pod, 
  2. Dans votre fichier Podspec, ajoutez simplement s.ios.dependency 'YourPodName/YourPodDependencyFolder'

Après cela, créez un sous-espace comme ceci:

s.subspec 'YourPodName' do |ss|
ss.source_files = 'YourPodName/**/*.{h,m}'
end
12
Loegic

Je ne peux pas mettre les autres bibliothèques à la racine de ma bibliothèque, elles sont dans le parent car elles sont partagées avec d'autres projets, mais malheureusement sans utiliser les pods, j'essaie d'utiliser les pods pour tous et j'ai déjà configuré le podspec pour toutes les bibliothèques.

J'essaie de faire quelque chose comme ceci écrit ci-dessous, mais ne semble pas fonctionner:

Pod::Spec.new do |s|
    s.name                  = 'MyLibrary'
    s.platform              = 'ios'
    s.ios.deployment_target = '7.1'
    s.source_files          = 'Classes/**/.{h,m}'
    s.resource              = 'Classes/resources/*.*'
    s.requires_arc          = true
    s.dependency 'AFNetworking'
    s.dependency 'SharedLib'

    s.subspec 'SharedLib' do |ss|
        ss.source_files         = '../SharedLib/Classes/**/*.{h,m}'
        s.resource              = '../SharedLib/Classes/resources/*.*'
        ss.ios.framework        = 'AVFoundation'
    end
end

merci pour tout.

1
Danilo