Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Elegant handling for Cocoa Touch
Branch: simplify
Pull request Compare This branch is 1 commit ahead of master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Elegant handling for Cocoa Touch

As this project is under early and active development, method signatures and functionality is subject to change. General feedback, bug reports and feature requests appreciated.

TPTentClient allows iOS applications to communicate with servers using the Tent protocol.

Getting Started

An example application is included in the repository, demonstrating server discovery, authorization, retrieval and posting a status.

Don't forget to pull down AFNetworking and SSToolkit with git submodule update --init to run the example.


TPTentClient requires Xcode 4.4 and the iOS 5.0 SDK, as well as AFNetworking 1.0RC3 and SSToolkit 1.0.1.

As TPTentClient persists credentials in the Keychain, you'll also need to have the Security Framework linked to your target.

Next Steps

TPTentClient currently supports a small subset of what's possible with Tent. There's lots to do, including:

  • Documentation
  • Better error handling
  • Access to all Tent API endpoints
  • Support Tent Server fallback during Discovery
  • Support multiple authenticated servers at once
  • Enhanced delegate methods
  • Support for Mac OS X and Cocoa

If you'd like to see a different feature or have found a bug, please open an issue or fork the repo and submit a pull request. If you'd just like to contribute, search for "TODO:"!


TPTentClient created and maintained by Ben Stovold.

Special thanks to all contributors.

Tent is the incredible work of the Tent team, including Daniel Siders and Jonathan Rudenberg.

AFNetworking and SSToolkit are thanks to Mattt Thompson and Sam Soffes respectively.


Follow Ben on (^followben) or visit


TPTentClient is available under the MIT license. See the LICENSE file for more info.

Something went wrong with that request. Please try again.