Create type aliases so that more code can be shared
If you’re using basic SDK classes and methods such as
UIColor you’ll find that the mac SDK equivalent
NSColor has many of the same methods, but that your shared code will error out as NSColor is not available on iOS and vice versa. A quick and dirty little hack for this is to simply create a CrossPlatform.swift file that you can quickly conditionally include SDK’s and do a typealias of the classes you are using. The small snippet below is useful, as from this point on, you could use
Color.init(red: 68/255, green: 85/255, blue: 166/255, alpha: 1) in your code and it will work on both platforms.
#if os(macOS) import AppKit typealias Color = NSColor typealias BezierPath = NSBezierPath #else import UIKit typealias Color = UIColor typealias BezierPath = UIBezierPath #endif