ConnectionKit 2 is still under heavy development, but the front-end API is probably stable.
Things someone could do if they're feeling nice:
- Improve handling of invalid certificates for FTPS
- Amazon S3 protocol
- Port
CKUploader
to the new API - API for downloading/reading files
ConnectionKit provides a Cocoa-friendly, block-based API for asynchronously working with:
- FTP, SFTP and WebDAV servers
- Local files
I'm Mike Abdullah, of Karelia Software. @mikeabdullah on Twitter.
Questions about the code should be left as issues at https://github.com/karelia/ConnectionKit or message me on Twitter.
Requires OS X v10.6+
Relies upon CURLHandle and DAVKit. They are provided as submodules and may have their own dependencies in turn. Out of the box, provided you initialise all submodules, CURLHandle.framework
should be able to nicely build, self-containing all its dependencies.
Please see https://github.com/karelia/CurlHandle for details of CURLHandle and its subcomponents' licensing.
Please see https://github.com/karelia/DAVKit for details of CURLHandle and its subcomponents' licensing.
Existing ConnectionKit code should declare its licensing at the top of the file, most likely BSD or MIT.
Licensed under the BSD License http://www.opensource.org/licenses/bsd-license THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- Clone the ConnectionKit repository, ideally by adding it as a submodule if you're using git for your main project
- Checkout the
curlhandle-4
branch - Initialise all submodules — they go several levels deep!
- Add
Connection.xcodeproj
to your project - Add the ConnectionKit framework as a dependency of your project's build target
- Set
Connection.framework
to be copied into a suitable location inside your build target; e.g theFrameworks
directory
- Create a
CK2FileManager
instance - Set the file manager's delegate if you require control over authentication, or to receive transcripts
- Instruct the file manager to do the thing what it is you want to do.
Be sure to read through CK2FileManager.h
as there's plenty of helpful documentation in there.
For anyone relying on one of the old branches, they have been archived to be tags:
- master => v1.x
- release-1.2 => v1.2.x
- BrianWorkInProgress => brian-work-in-progress
- CKFTPResponse => ckftpresponse
- release-2.0 => experiment-2.0