В XCode есть опция для создания Universal
приложений. Однако это касается только iDevices. Если вы хотите скомпилировать тот же код для MacOS, вам нужно сделать это, вставив условные выражения препроцессора
#ifdef TARGET_OS_MAC
// we are on MacOS
#elif defined TARGET_OS_IPHONE
// we are on iOS
#else
// unknown platform
#endif
Это связано с тем, что API Mac и iOS в какой-то момент отличаются (есть некоторые классы, которые существуют исключительно для каждой платформы, например, UIKit
/ AppKit
)