(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| #!/bin/bash | |
| # | |
| # Updates all plug-ins to be compatible with the latest Xcode and Xcode-beta | |
| # | |
| plugins_location="~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins" | |
| # Get Xcode's version | |
| current_xcode_version="$(defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID)" |
| import Cocoa | |
| enum CoroutineState { | |
| case Fresh, Running, Blocked, Canceled, Done | |
| } | |
| struct CoroutineCancellation: ErrorType {} | |
| class CoroutineImpl<InputType, YieldType> { | |
| let body: (yield: YieldType throws -> InputType) throws -> Void |
| /// Observes a run loop to detect any stalling or blocking that occurs. | |
| /// | |
| /// This class is thread-safe. | |
| @interface GHRunLoopWatchdog : NSObject | |
| /// Initializes the receiver to watch the specified run loop, using a default | |
| /// stalling threshold. | |
| - (id)initWithRunLoop:(CFRunLoopRef)runLoop; | |
| /// Initializes the receiver to detect when the specified run loop blocks for |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| #import <Cocoa/Cocoa.h> | |
| @interface NSColor (isLight) | |
| - (BOOL)isLight; | |
| @end |
Generate the list yourself:
$ cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS*.sdk/System/Library/Frameworks/UIKit.framework/Headers
$ grep UI_APPEARANCE_SELECTOR ./* | \
sed 's/NS_AVAILABLE_IOS(.*)//g' | \
sed 's/NS_DEPRECATED_IOS(.*)//g' | \
sed 's/API_AVAILABLE(.*)//g' | \
sed 's/API_UNAVAILABLE(.*)//g' | \
sed 's/UI_APPEARANCE_SELECTOR//g' | \