Mit libcurl auf iOS 5 als alternative zu NSURLConnection

Update: NSURLConnection scheint nun richtig unterstützt 100-Continue. In jedem Fall, diese Antwort enthält einen link, um das Skript zu bauen, libcurl für iOS/OSX.

Ich bin ein bisschen eine harte Zeit mit NSURLConnection angesichts der Tatsache, dass es nicht unterstützt Abschnitt 8.2.3 der RFC 2616 (HTTP/1.1).

Grundsätzlich muss der client in der Lage sein, zu unterstützen, senden der header Expect: 100-Continue; nach dem senden der request-Header, es muss warten, bis eine Antwort vom server mit dem status-code 100 vor dem senden der POST/PUT Körper.

Darüber hinaus NSURLConnection (und somit auch alle libs, die bauen oben drauf) nicht keine Antwort vom server, bis alle Daten hochgeladen - das ist ein Schmerz, da der server ablehnen kann der upload sofort (ungültige Anmeldeinformationen, kein Platz, Datei zu groß, etc).
Während es bedeutet "Arbeit" für kleine Dateien (Inhalt ist vollständig hochgeladen und delegate-Methode mit der Antwort genannt wird), auf große Dateien, anstatt immer die Fehler, die server-Antwort (die ich bin positiv sicher gesendet wird), bekomme ich nur ein "Verbindung fehlgeschlagen" Fehler.

Ich weiß libcurl richtig unterstützt den 100-Continue Skillung, damit ich etwas Hilfe benötigen, kompilieren Sie es und bekommen es und läuft auf einem iOS-5-Projekt.

Begann ich mit dieser Beitrag(scroll nach unten), aber ich konnte nicht weit kommen...

Diese änderungen gemacht...

export CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2
export CFLAGS="-arch armv7 --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk"
export CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-cpp-4.2
export AR=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar
./configure --disable-shared --without-ssl --without-libssh2 --without-ca-bundle --without-ldap --disable-ldap --host=arm-apple-darwin10 --build=arm-apple-darwin10
make clean
make
ar rv libcurl.armv7.a lib/*.o

... aber die Kompilierung schlägt fehl mit der Meldung

(...)
checking for arm-apple-darwin10-gcc... /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2
checking whether the C compiler works... no
configure: error: in `/Users/bruno/Downloads/curl-7.21.4':
configure: error: C compiler cannot create executables

Bin ich mit curl-7.21.4, heruntergeladen von der Apple -open-source-Website.

So, wie kann ich curl kompilieren und verwenden Sie es auf ein iOS-5-Projekt, möglichst mit SSL-Unterstützung?

  • Schnappen Sie sich die neuesten & größte Skript hier. Kompiliert mit Darwin SSL - richtig, native iOS/OSX SSL!
InformationsquelleAutor biasedbit | 2012-01-27
Schreibe einen Kommentar