Skip to content
Rebekka - FTP/FTPS client in Swift.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Rebekka - an FTP/FTPS client in Swift. Utilizes CFFTPStream API from CFNetworking.

###Implemented FTP commands

  • Directory content listing.
  • Directory creation.
  • File upload/download.


#####As Embedded framework (iOS 8.0+)

  1. Add Rebekka as a submodule. git submodule add
  2. Drag-and-drop Rebekka.xcodeproj into your project. The project has two targets: Rebekka.framework for OSX project, RebekkaTouch.framework for iOS projects.
  3. Add new target in "Build Phases" -> "Target Dependencies".
  4. Click the + button at the top left of the panel and choose "New copy files phase".
  • Rename the new phase to "Copy Frameworks".
  • Set the "Destination" to "Frameworks".
  1. Add Rebekka framework to this phase.

To support iOS 7.0, you can add source code files directly into your project .


var configuration = SessionConfiguration() = ""
configuration.encoding = NSUTF8StringEncoding
_session = Session(configuration: configuration)
_session.list("/") {
    (resources, error) -> Void in
    println("List directory with result:\n\(resources), error: \(error)\n\n")
var configuration = SessionConfiguration() = ""
_session = Session(configuration: configuration)"/Users/foo/testdownload.png") {
   (fileURL, error) -> Void in
   println("Download file with result:\n\(fileURL), error: \(error)\n\n")
var configuration = SessionConfiguration() = "localhost:21"
configuration.username = "optimus"
configuration.password = "rollout"
if let URL = NSBundle.mainBundle().URLForResource("testUpload", withExtension: "png") {
   let path = "/Users/foo/bar/testUpload.png"
   _session.upload(URL, path: path) {
       (result, error) -> Void in
       println("Upload file with result:\n\(result), error: \(error)\n\n")


Swift 2.0 / iOS 8.0+ / Mac OS X 10.9+


The BSD 2-Clause License. See License.txt for details.

=========== Bonn, December 2015.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.