• Stars
    star
    114
  • Rank 308,031 (Top 7 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created over 14 years ago
  • Updated over 12 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Cocoa framework for talking to WebDAV servers

DAVKit

DAVKit is a Cocoa framework for communicating with WebDAV servers. It supports downloading, uploading, copying, moving, and deleting files and folders, all asynchronously. By subclassing DAVRequest, you can extend the existing support for WebDAV requests to suit your own needs. Unit tests are also included for all supported requests. If DAVKit is missing something, please file an issue on the Issues page. Pull requests are also welcome. The DAVKit source tree is ARC-only as of 10/29/11.

Basic Usage

To get started, include the DAVKit framework in your Mac OS X application target per usual. To use DAVKit on iPhone, copy the contents of the Sources directory into your project.

WebDAV requests are sent using the DAVSession class. Initialize DAVSession with a set of credentials and a root URL:

DAVCredentials *credentials = [DAVCredentials credentialsWithUsername:@"USER"
															 password:@"PASS"];

NSString *root = @"http://idisk.me.com/steve"; // don't include the trailing / (slash)

DAVSession *session = [[DAVSession alloc] initWithRootURL:root
											  credentials:credentials];

DAVSession acts like a queue, limiting the number of requests it can process at any point in time. The default is 2. To enqueue a new WebDAV request, instantiate one of the subclasses of DAVRequest and pass it to DAVSession as shown below:

[session enqueueRequest:subclassOfDAVRequest];

To receive callbacks when the state of the request changes, register yourself as the delegate of an instance of DAVRequest before enqueueing it.

Unit Tests

Before running the Tests target, fill in your WebDAV test server's information into the HOST, USERNAME, and PASSWORD #defines in DAVTest.h. The tests currently require network connectivity.

Credits

Thanks to Peter Hosey for the ISO8601DateFormatter class!

License

Copyright (c) 2010-2012 Matt Rajca

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

sudo-touchid

A fork of `sudo` with Touch ID support.
C
1,547
star
2

MapKit

An iOS library for displaying tiled maps with support for custom tile providers
Objective-C
82
star
3

GoEV3

LEGO Mindstorms EV3 API for Google Go
Go
60
star
4

Safari-Extensions

A repository of Safari Extensions
JavaScript
52
star
5

MNIST

Getting Started with Deep MNIST and TensorFlow on iOS
Objective-C++
50
star
6

pymessage-lite

A simple Python library for fetching recipients and messages from OS X's iMessage database
Python
29
star
7

TranslationKit

A simple Cocoa framework which utilizes Google Translate to translate text
Objective-C
26
star
8

Physics-Demos

A variety of physics-based demos for iOS and Mac OS X
C
22
star
9

CQTKit

A fast implementation of the Constant Q Transform on top of the Accelerate framework
C++
22
star
10

Nibble

A native Apple I (M6502) emulator for Mac OS X and iOS
Objective-C
18
star
11

PsychedelicArt

Algorithmically generating random psychedelic art with Core Image
Objective-C
11
star
12

Mandelbrot

A Mandelbrot set renderer for OS X which leverages GCD, OpenCL, and Metal
Objective-C
11
star
13

Automator-actions

A repository of Automator actions for Mac OS X
Objective-C
11
star
14

MIDIVis

A demo Core Animation application that visualizes MIDI files
Objective-C
11
star
15

FastCoding

A category on NSObject which makes it easy to archive a class's properties in one method call
Objective-C
8
star
16

SharedXPC

Demonstrates issues with connecting to shared XPC Services on Sierra and provides a workaround using Mach ports
Objective-C
8
star
17

NXTKit

A Cocoa framework for talking to Lego NXT Bricks
Objective-C
7
star
18

NXT-Joystick

Drive a NXT bot with iPhone
Objective-C
5
star
19

SceneKit

SceneKit playground
Objective-C
5
star
20

Snake

A simple Snake game for Mac OS X
Objective-C
5
star
21

NXT-Band

Record and play back NXT melody files (RMD) on Mac OS X
Objective-C
4
star
22

NXT-Browser

Mac OS X file browser for your NXT brick
Objective-C
4
star
23

CenteringScrollView

Sample code showing how to center content in a NSScrollView in the world of Auto Layout.
Swift
4
star
24

Seashells3D

An example of parametric geometry in SceneKit
Objective-C
3
star
25

sudoku-solver

A sudoku solver written in C that uses a backtracking algorithm
C
3
star
26

FacebookAlbumFetcher

Lets Mac users batch-download their Facebook friends' photo albums. Requires OS X 10.8.2.
Objective-C
3
star
27

scripts

A bunch of useful Bash and Python scripts
Python
3
star
28

PDFDrop-SafariExtz

a Safari Extension that makes it easy to send open PDFs from Safari to Dropbox
JavaScript
3
star
29

Mastermind

A simple Mastermind game for Mac OS X
Objective-C
3
star
30

ISSKit

iOS static library for tracking the International Space Station
2
star
31

TTT

Tic-Tac-Toe game which uses the alpha-beta minimax algorithm for its AI
C
2
star
32

SkyKit

Demo project that shows how to use MapKit to render Google Sky imagery
Objective-C
2
star
33

SGP4

An OS X/iOS compatible fork of danrw's SGP4 C++ Satellite Library
C++
1
star
34

HeapKit

A Swift implementation of the Heap data structure
Swift
1
star
35

fb2cal

View your Facebook friends' birthdays right from your favorite calendaring program
Python
1
star