2015-08-27 13 views
8

Ich habe ein Framework erstellt, das ich gerne über CocoaPods verteilen würde.pod spec lint schlägt fehl, wenn pod lib lint erfolgreich ist. 'vendored_frameworks' stimmt mit keiner Datei überein

Ich bin mir nicht sicher, ob ich etwas Dummes mache. Ich habe einen vollständigen .framework-Ordner in das Basisverzeichnis aufgenommen und möchte, dass dies die Quelle für meinen Pod ist. Wenn ich „pod lib lint“ laufen, scheint alles in Ordnung zu sein, aber wenn ich „pod spec lint“ laufen erhalte ich:

- ERROR | [iOS] The `vendored_frameworks` pattern did not match any file. 

Ich habe versucht, preserve_paths nach einem Blick durch Zugabe von Stackoverflow, aber das scheint nicht zu behebe mein Problem. Nach dem Lesen des Cocoapods-Dokuments lautet "vendored_frameworks" "Die Pfade der Framework-Bundles, die mit dem Pod geliefert werden". Daher denke ich, dass es in Ordnung ist, sie hier zu verwenden.

Hier ist meine podspec Datei:

Pod::Spec.new do |s| 
    s.name    = "X" 
    s.version   = "1.0" 
    s.summary   = "Summary" 
    s.description  = "Description here" 
    s.homepage   = "http://www.valid_homepage.com/" 
    s.license   = { :type => "Commercial", :text => "See https://www.license_here" } 
    s.author   = { "Author" => "[email protected]" } 
    s.source   = { :http => "https://storage.googleapis.com/path/to/file" } 
    s.social_media_url = 'https://twitter.com/handle' 
    s.platform  = :ios, '7.0' 
    s.requires_arc = true 
    s.preserve_paths = 'X.framework' 
    s.vendored_frameworks = 'X.framework' 
    s.frameworks = 'SystemConfiguration' 
    s.library = 'resolv' 
end 

Keine Erkenntnisse wäre sehr dankbar! Vielen Dank!

Das .framework Verzeichnis hat die Struktur

Framework 
    - Headers (Shortcut) 
    - LibraryFile (Shortcut) 
    - Versions 
    - A 
     - Headers (Contains .h file) 
     - LibraryFile 
    - Current (Shortcut to A directory) 

Antwort

3

figured it out. Grundsätzlich muss die Ordnerstruktur einer von Ihnen verteilten Zip-Datei intern mit dem Suchpfad übereinstimmen. Wie, wenn die Verzeichnisstruktur ist:

.podspec 
Frameworks/ 
    - X.framework 

wo

s.vendored_frameworks = 'Frameworks/X.framework' 

Dann scheint es, dass, wenn Sie die http entpacken: Ressource sollte die Verzeichnisstruktur

Frameworks/ 
    - X.framework 
haben
Verwandte Themen