Go to file
Maksym Grebenets efcfa1cf87 Add examples 2018-03-02 14:15:45 +11:00
Examples Add examples 2018-03-02 14:15:45 +11:00
Sources Completely regroup sources 2018-03-02 13:14:00 +11:00
SwiftScriptRunner.xcodeproj Share the scheme 2018-03-02 13:17:13 +11:00
Tests Completely regroup sources 2018-03-02 13:14:00 +11:00
.gitignore Add Package.swift 2018-03-02 12:17:23 +11:00
.rubocop.yml Update for Xcode 9.2 and Swift 4 2018-03-02 12:03:02 +11:00
.rubocop_general.yml Update for Xcode 9.2 and Swift 4 2018-03-02 12:03:02 +11:00
.swift-version Update for Xcode 9.2 and Swift 4 2018-03-02 12:03:02 +11:00
.travis.yml Completely regroup sources 2018-03-02 13:14:00 +11:00
Gemfile Completely regroup sources 2018-03-02 13:14:00 +11:00
Gemfile.lock Completely regroup sources 2018-03-02 13:14:00 +11:00
LICENSE Initial commit 2015-10-06 22:59:21 +11:00
Package.swift Completely regroup sources 2018-03-02 13:14:00 +11:00
README.md Update examples 2018-03-02 13:59:19 +11:00
SwiftScriptRunner.podspec Completely regroup sources 2018-03-02 13:14:00 +11:00

README.md

SwiftScriptRunner

CI Status Version License Platform

A simple utility for writing Swift scripts with async callbacks to 3rd party frameworks.

See this blog post for more details.

Requirements

  • Xcode 9.2
  • cocoapods gem version 1.4.0
  • cocoapods-rome gem version 0.8.0
  • carthage version 0.28.0

Installation

SwiftScriptRunner is available through CocoaPods Rome and Carthage.

CocoaPods Rome

Make sure you have cocoapods-rome Ruby gem installed.

Add the following line to your Podfile:

platform :osx, "10.10"
use_frameworks!
plugin "cocoapods-rome"

pod "SwiftScriptRunner", "~> 1.0.1"

And run

pod install

Carthage

Add the following line to your Cartfile:

github "mgrebenets/SwiftScriptRunner", ~> 1.0.1

And run

carthage update --platform mac

Swift Package Manager

TODO:

Usage

Example of asynchronous network request using Alamofire.

// Shebangs for using with different dependency managers.
//
// - Carthage:
// #!/usr/bin/env xcrun swift -F Carthage/Build/Mac
// - CocoaPods Rome:
// #!/usr/bin/env xcrun swift -F Rome
// - Swift Package Manager:

// Example.swift

import Alamofire
import SwiftScriptRunner

var runner = SwiftScriptRunner()
runner.lock() // Lock

Alamofire.request("http://httpbin.org/get")
    .responseJSON { response in
         print("Successful response:")
         print(response)   // Result of response serialization
         runner.unlock() // Unlock
    }

runner.wait() // Wait

Now you can run it.

# When using CocoaPods
swift -F Rome Example.swift

# When using Carthage
swift -F Carthage/Build/Mac Example.swift

# When -F option is part of shebang and Example.swift is executable
./Example.swift

See Examples folder for details.

Author

Maksym Grebenets, mgrebenets@gmail.com, @mgrebenets

License

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