2016-10-06 3 views
-1

Ich bin neu in der Codierung. Jede Hilfe wird geschätzt!Modul 'AFNetworking' hat kein Mitglied namens 'Anfrage'

Ich befolge ein Tutorial, wie man Stripe in meinem Projekt einrichtet.
Ich habe AFNetworking anstelle von Alamofire in mein Projekt integriert.
Das Tutorial verwendet Alamofire. Bekomme ich diesen Fehler, weil ich AFNetworking verwende?
Ich habe versucht, Alamofire zu meiner Pod-Datei hinzuzufügen, um das Tutorial für mich einfacher zu machen, aber ich bekomme den Fehler "Keine Pod-Datei im Verzeichnis gefunden", wenn die Pod-Datei eindeutig im Verzeichnis ist (außer ich finde es ist falsch).
Nur ein bisschen verwirrt, wie man diesen Fehler beheben kann.

Was mache ich? Screenshot

+0

AFNetworking und Alamofire sind nicht gleich, Sie können also nicht einfach den Namen wechseln. Wenn Sie mit dem Codieren noch nicht vertraut sind und das Lernprogramm Alamofire behandelt, sollten Sie zunächst Alamofire verwenden und es bei Bedarf ersetzen. Für [Alamofire] (https://github.com/Alamofire/Alamofire) überprüfen Sie die Anforderungen, haben Sie die benötigte Cocoapods-Version? Wie sieht dein 'Podfile' aus? Hast du versucht mit einer niedrigeren/höheren Version wie 'pod 'Alamofire', '~> 3.0''? – makadev

Antwort

0

Alamofire und AFNetworking sind verschiedene Bibliotheken. Obwohl von den gleichen Leuten codiert. Sie können die Klassennamen nicht austauschen, da beide Bibliotheken unterschiedliche Implementierungen aufweisen. Wenn Sie in Swift codieren, sollten Sie Alamofire verwenden, da es auch in Swift geschrieben ist.

Sie können beide Bibliotheken in Ihrem Projekt behalten, aber es ist wie zwei Kopien von etwas zu haben, die das gleiche tun. Möglicherweise möchten Sie Ihren Code in Richtung Alamofire migrieren, wenn Stripe dies erfordert. Andernfalls müssen Sie etwas Zeit aufwenden, um den Stripe-Lernprogrammcode für AFNetworking erneut zu bearbeiten.

Alamofile macht Anfragen wie folgt aus:

Alamofire.request("https://httpbin.org/get").responseJSON { response in 
    print(response.request) // original URL request 
    print(response.response) // HTTP URL response 
    print(response.data)  // server data 
    print(response.result) // result of response serialization 

    if let JSON = response.result.value { 
     print("JSON: \(JSON)") 
    } 
} 

und AFNetworking sieht wie folgt aus, wie es in Objective-C geschrieben:

NSString *URLString = @"http://example.com"; 
NSDictionary *parameters = @{@"foo": @"bar", @"baz": @[@1, @2, @3]}; 
[[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:URLString parameters:parameters error:nil]; 

Für Cocoapods wenn ou Alamofire wollen dort in Sie benötigen die Zeile

pod 'Alamofire', '~> 4.0' 

unter Ihrem Anwendungsziel. Alamofire hat ein paar andere Überarbeitungen dazu. Wenn Sie mit Swift nicht 3, möchten Sie:

pod 'Alamofire', '~> 3.4' 

in Ihrem Podfile, und installieren Sie dann laufen Pod.

+0

Es heißt "keine Pod-Datei im Verzeichnis gefunden". Ich habe versucht, das herauszufinden, aber nicht sicher, was ich falsch mache? Meine Pod-Datei scheint in meinem Verzeichnis zu liegen. Wie kann ich das beheben? –

+0

Haben Sie den Befehl "pod install" in Ihrem Projektverzeichnis ausgeführt, um Alamofire Ihrem Xcode-Arbeitsbereich hinzuzufügen? Gibt Xcode oder Terminal Ihnen diese Nachricht? – ErrorCode3000