Swift Script Runner
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Examples
Sources
SwiftScriptRunner.xcodeproj
Tests
.gitignore
.rubocop.yml
.rubocop_general.yml
.swift-version
.travis.yml
Gemfile
Gemfile.lock
LICENSE
Package.swift
README.md
SwiftScriptRunner.podspec

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.