Since ObjectiveC was not (still isn't) my strong point, it is obvious the choice would be to use some pre-done framework/library to deal with WebDAV communication. After some searching, I landed on ConnectionKit, which is a framework used to handle multiple data exchange protocols. Settling on this, I tried to implement it only to find it doesn't want to compile for iOS, because it is using <Cocoa/Cocoa.h> instead of <UIKit/UIKit.h> header. I figured if I make the change over, it will work, it didn't; I figured if I hacked the code enough, it will work, it didn't; and I finally succumbed into joining the developer's mailing list, only to find in the second thread a conversation that kind of went like this:
User: Does this work for iOS?
Developer: No.
User: Are you going to make it work for iOS?
Developer: It is in plans for 2.0, but that's months away.
I don't have months to wait. FML.
I searched around some more and found WTClient library, which claims to work for iOS, so I downloaded that and tried that. Initially, it doesn't want to work, as it is tied to iOS 2.0, which is quite old. I changed it to build for iOS 4.0, updated framework pointers, and it compiles. I tried to download files, it complained about access denied, and I found out that it is looking for "HTTP/1.1 200 OK" instead of what the server was responding: "HTTP/1.1 200 Ok". So I made the change, and it still refused to download -- it says download complete, 0 of 0 bytes downloaded. At this point I decided maybe the library developer can fix this later, and moved on to try uploading, and it works. So I'm happy. Now I can just move on with uploading and take care of this a bit later.
