OS X is unusual in that it can transparently run 64-bit apps under a 32-bit kernel as well as 32-bit apps under a 64-bit kernel. The 64-bit-capable kernel that was added in 10.6 is cool, but basically irrelevant to user applications. Over different versions of OS X, what comes with the OS has gradually migrated from 32-bit-only (through 10.2) to having minimal support for background-only 64-bit apps (10.3 and 10.4), to full support for 64-bit Cocoa apps (10.5), to a full 32/64 OS including the kernel (10.6) to actually starting to drop support for 32-bit mode (10.7 shipped with many 64-bit-only system apps, and will not run on a 32-bit-only CPU). Long answer: OS X doesn't have 32-bit and 64-bit versions it uses a universal binary format which allows programs, system components, etc to be installed with both 32- and 64-bit code, and the system simply picks the "best" one to use based on the CPU you're on. You can check the CPU with the command sysctl hw.cpu64bit_capable ( 0 means no, 1 means yes) or by looking up the model (if it has a "Core Solo" or "Core Duo" CPU it's 32-bit only if it's a "Core 2 Duo" - note the "2" - it's 64-bit). Please see the Updating Xamarin.Short answer: if your model of MacBook has a 64-bit capable CPU, you can run 64-bit apps under 10.5.8. Enabling 64-bit builds of Xamarin.Mac appsįor information about building a 64-bit app using Xamarin.Mac, The complete set of frameworks provided by Apple. Macs in use today support 64-bit mode, and you have access to This mode is limiting as you wont be able to use manyįrameworks available in macOS Mavericks and macOS Yosemite.Ħ4-bit applications will only run on 64-bit Macįor Mac, this is the preferred mode of operation as most
Have a smaller download, or if there are no performance You will typically use this mode if you have 32-bitĭependencies that do not run in 64-bit mode, if you want to The Unified API allow developers to choose what kind ofĪpplications they want to produce: 32-bit or 64-bit.ģ2-bit applications will run on both 32-bit andĦ4-bit Mac computers, have an address space limited to 32īits, and require that all libraries are 32 bits. MultipeerConnectivity, NotificationCenter, GLKit, SpriteKit, Versions of macOS are only supported in 64-bit mode (CloudKit,ĮventKit, GameController, LocalAuthentication, MediaLibrary, Unlike iOS, many of the new frameworks introduced in recent Released since 2010 support both systems. Operating system to run on 32-bit systems. Most modern Mac computers support both 32-bit and 64-bitĪpplications. SeeĪnd a guide that describes how to update your Xamarin.Mac apps to 64-bit. Updates must support 64-bit starting in June 2018. Starting in January 2018, all new Mac apps submitted to the However, doing so will allow newer devices to run optimized code while still supporting older devices. Targeting both 32-bit and 64-bit architectures will significantly increase the size of an application.
Because of this, Xamarin's Unified API allows developers to target both.
64-bit and binary size increasesĭuring Apple's transition from 32-bit to 64-bit, iOS apps will need to run on both 32-bit and 64-bit hardware. ARMv6 works on all devices but is no longer supported by the compiler shipped with Xcode 4.5 and later.ĪRM64 is required to support iOS 8 on iPhone 6 or other 64-bit devices and will be required by Apple when submitting new or updating exiting applications in the iTunes App Store.įor a comprehensive look at the capabilities of various iOS devices, check out Apple'sĭevice Compatibility document. ARMv7 code is faster and smaller than the ARMv6, only works with the iPhone 3GS and later, and is required by Apple when targeting the iPad or a minimum iOS version of 5.0. In the Solution Explorer, right-click the app's project and select Properties.įor the iPhone Simulator, set Supported architectures to either x86_64 or i386 + x86_64:ĪRMv7s is supported only by the A6 processor included in the iPhone 5 (or greater). In the Solution Pad, double-click the app's project to open the Project Options window.įor the iPhone Simulator, in the Supported architectures dropdown, select either x86_64 or i386 + x86_64:įor physical devices, select one of the available ARM64 combinations: