SwiftScriptRunner

master

Swift Script Runner
mgrebenets/SwiftScriptRunner

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.

Description

  • Swift Tools 4.0.0
View More Packages from this Author

Dependencies

  • None
Last updated: Thu Apr 11 2024 20:15:24 GMT-0900 (Hawaii-Aleutian Daylight Time)