Come usi la class di colors appropriata per la piattaforma corrente?

Sto cercando di condividere il mio codice di Scene Kit su iOS e OS X, ma le chiamate API che accettano colors (e immagini) richiedono UIColor / UIImage o NSColor / NSImage a seconda della piattaforma. Come posso creare la class giusta in Swift senza duplicare il codice?

Usa la compilazione condizionale e digita gli alias:

 #if os(OSX) typealias Color = NSColor typealias Image = NSImage #else typealias Color = UIColor typealias Image = UIImage #endif 

Quindi usa Colore invece di UIColor o NSColor:

 self.gameView!.backgroundColor = Color(red: 0, green: 0.2, blue: 0.5, alpha: 1) 

Modifica 17-01-2016: Come osservato in DDPWNAGE sopra, Apple ha creato SKColor con la stessa definizione.