This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
github "ZaidPathan/Chat" "master" | |
github "ZaidPathan/Play" "master" | |
github "ZaidPathan/Pay" "master" | |
github "ZaidPathan/Shop" "master" |
carthage update --platform iOS --cache-builds |
github "ZaidPathan/Chat" "master" |
touch Cartfile && open Cartfile |
import Foundation | |
import UIKit | |
public class Chat { | |
public static let shared = Chat() | |
private let bundle = Bundle(for: Chat.self) | |
public func getViewController() -> UIViewController { | |
let storyboard: UIStoryboard = UIStoryboard(name: "ChatModule", bundle: bundle) | |
let viewController = storyboard.instantiateViewController(withIdentifier: "ChatViewController") |
import UIKit | |
import AlamoWater | |
class ViewController: UIViewController { | |
override func viewDidLoad() { | |
super.viewDidLoad() | |
AlamoWater.shared.hello() | |
} | |
} |
#!/bin/sh | |
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal | |
# make sure the output directory exists | |
mkdir -p "${UNIVERSAL_OUTPUTFOLDER}" | |
# Step 1. Build Device and Simulator versions | |
xcodebuild -target "AlamoWater" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build | |
xcodebuild -target "AlamoWater" -configuration ${CONFIGURATION} -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build |
import UIKit | |
public protocol AlamoWaterProtocol { | |
func didCallHello() | |
} | |
open class AlamoWater: NSObject { | |
public static let shared = AlamoWater() | |
public var delegate:AlamoWaterProtocol? |
let leftExpression = NSExpression(forConstantValue: 999) | |
let rightExpression = NSExpression(forConstantValue: 1000) | |
let predicate = NSComparisonPredicate(leftExpression: leftExpression, | |
rightExpression: rightExpression, | |
modifier: NSComparisonPredicate.Modifier.direct, | |
type: NSComparisonPredicate.Operator.greaterThanOrEqualTo, | |
options: NSComparisonPredicate.Options.caseInsensitive) | |
options: NSComparisonPredicate.Options.caseInsensitive | |
) |