Wie erstelle ich eine CocoaPods podspec, die eine Abhängigkeit außerhalb der Spezifikationen hat?
Habe ich eine öffentliche Gabel von einer Bibliothek, die bereits existiert, CocoaPods/Specs. Im Podfile, kann ich auf diese Gabel-pod, indem Sie das tun:
pod 'CoolLibrary', :git => '[email protected]:myname/CoolLibrary-Forked.git', :commit => 'abcdef1234567890abcdef1234567890'
Ich habe versucht, dies in meinem MyLibrary.podspec
:
s.dependency 'CoolLibrary', :git => '[email protected]:myname/CoolLibrary-Forked.git', :commit => 'abcdef1234567890abcdef1234567890'
Bekomme aber folgende Fehlermeldung:
-> MyLibrary.podspec
- ERROR | The specification defined in `MyLibrary.podspec` could not be loaded.
[!] Invalid `MyLibrary.podspec` file: [!] Unsupported version requirements. Updating CocoaPods might fix the issue.
Ist es möglich, an einer Abhängigkeit in einer .podspec in dieser Weise (D. H. für eine Hülse, hat eine podspec, aber das ist nicht in CocoaPods/Specs)?
InformationsquelleAutor der Frage Nick Forge | 2014-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist nicht erlaubt, podspecs, weil damit, so würde es unmöglich machen, für andere podspecs zu definieren, welche Pakete Sie abhängig sind und/oder andere Pakete könnte brechen, denn der unerwartete API-Unterschiede.
Bedenken Sie zum Beispiel, zwei Hülsen, die davon abhängen, AFNetworking, aber legt man eine externe Quelle Lage Pod (A) während die andere gibt nur ein minimum version Voraussetzung Pod (B):
s.dependency 'AFNetworking', :git => 'https://arbitrary/location'
s.dependency 'AFNetworking', '> 2'
Nun gibt es ein paar mögliche Probleme:
Ich hoffe das macht es klar, warum wir nicht einführen kann, einen Weg für podspecs zu leise brechen die version verspricht. Jedoch, aus Ihrer Podfile Sie sind erlaubt das überschreiben beliebiger pod-source-Lage, denn es ist die end-Benutzer (Entwickler der app), der über die Kontrolle und es sollte keine unerwartete Bruch.
InformationsquelleAutor der Antwort alloy
Abhängigkeiten sind sehr einfachdas nur die Fähigkeit zu definieren, den Namen und die version Planer von einem Pod. Sie kann nicht verlängert werden, mit den gleichen Erweiterungen wie eine Abhängigkeit in der Podfile.
InformationsquelleAutor der Antwort orta