it-swarm.com.de

Fehler beim Ausführen der Pod-Installation mit Swift

Ich habe die Anweisungen von Cocoapods befolgt.

Unten ist meine Poddatei: 

platform :ios, '8.2'

pod 'SwiftyJSON', '~> 2.1'
pod 'SwiftSpinner', '~> 0.6'
pod 'Alamofire', '~> 1.1'
pod 'SuperRecord', '~> 1.2'
pod 'Toucan

Bei der Installation von pod wurde der folgende Fehler angezeigt: 

In Swift geschriebene Pods können nur als Frameworks integriert werden. Diese Funktion ist noch in der Beta. Fügen Sie use_frameworks! zu Ihrer Pod-Datei oder Ihrem Ziel hinzu, um die Verwendung zu deaktivieren.

Aktualisierte:

Unten ist mein Konsolenprotokoll:

$ pod install
Analyzing dependencies
Downloading dependencies
Installing Alamofire (1.1.4)
Installing SuperRecord (1.2)
Installing SwiftSpinner (0.6.0)
Installing SwiftyJSON (2.1.3)
Installing Toucan (0.2.0)
[!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it.
36
channa ly

Fügen Sie "use_frameworks!" zu deinem Podfile weil: 

Weil Sie mit Apple keine statischen Bibliotheken erstellen können, die .__ enthalten. Schnell. Im Gegensatz zu Objective-C liefert Apple nicht den Swift-Standard Laufzeitbibliotheken mit iOS. Dies entkoppelt die Sprachversion von die Plattformversion. Wenn Sie eine App mit Swift erstellen, sind Sie verantwortlich, sie zu versenden. Standardmäßig verwendet Xcode Swift-stdlib-tool zum Kopieren der Swift-Laufzeit-Dylibs, aber der Das Tooling ist unzureichend, wenn versucht wird, Frameworks zu versenden, die Swift verwenden mit einer App, die nur Objective-C ist. Ihre ausführbare App und die Frameworks, die Sie versenden, verwenden alle denselben Satz von Dylibs, nämlich Eingebettet in das Frameworks-Unterverzeichnis des Anwendungspakets.

Das liegt zum einen daran, dass Sie keine Verknüpfung mit verschiedenen Versionen von .__ herstellen können. Standardbibliotheken. Darüber hinaus ist es wünschenswert, sie nur einzubetten einmal und nicht mehrmals aufgrund von Einschränkungen der Speichergröße und Netzwerkgeschwindigkeit, die für die Verteilung relevant sind . Sie können CocoaPods über Frameworks in Ihr Projekt integrieren anstelle von statischen Bibliotheken durch Angabe von use_frameworks !. Wenn das .__ ist. nicht vorhanden, können Sie Abhängigkeiten nicht integrieren, wenn Sie hängt von einem Pod ab, der den Swift-Quellcode enthält.

Referenz: http://blog.cocoapods.org/CocoaPods-0.36/

35
gagarwal

Fügen Sie "use_frameworks!" zu deinem Podfile:

Bitte sehen Sie sich die Beispiel-Poddatei an

target 'MySample' do

  pod 'AFNetworking', '~> 2.5'

  pod 'Net', '~> 0.2' #This is a sample in Swift

  use_frameworks! # <--Use this line
end
57
Meet

wie es in Podfile geschrieben ist, heißt es uncomment use_frameworks! verwenden Sie Swift, also müssen Sie diese Zeile unkommentieren und alles funktioniert einwandfrei 

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks! 

target 'YourProjectName' do
  pod 'SwiftyJSON', '~> 2.1'
  pod 'SwiftSpinner', '~> 0.6'
  pod 'Alamofire', '~> 1.1'
  pod 'SuperRecord', '~> 1.2'
  pod 'Toucan'
  # all other pods goes here 
end

target 'YourProjectName' do

end

target 'YourProjectName' do

end
9
Mina Fawzy

In meinem Fall habe ich Cocoapods mit dem Befehl Sudo gem install cocoapods aktualisiert. Ich habe in meinem Projekt sowohl Objective-C- als auch Swift-Bibliotheken verwendet.

1
Yogesh Dalavi

die Lösung ist sehr einfach. Sie müssen nur diese Zeilen zu Ihrer Pod-Datei hinzufügen:

target 'PassDTAFirebase' do

  inherit! :complete

    # Here your pods

  use_frameworks! 

end
0