Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between "My Mac 32-bit" and "My Mac 64-bit" in Xcode 4?

I have a Cocoa project that I recently imported into Xcode 4. I notice two Schemes for each of my specific build targets, one for 32-bit, and one for 64-bit. My Project settings are set to "Standard (32/64-bit Intel)".

When I select the "My Mac 32-bit" Scheme, does this compile it for 32-bit machines, and selecting "My Mac 64-bit", then compiles it for 64-bit machines? If I select the "My Mac 64-bit" Scheme, will it no longer run on 32-bit machines at all?

enter image description here

like image 527
Craig Otis Avatar asked Jun 23 '11 12:06

Craig Otis


People also ask

Can a 64-bit Mac run 32-bit?

64 bit apps work fine on a 32bit kernel, so long as you have a 64bit CPU and the app does not require to address kernel extensions. Thanks, I clarified the answer. Now we need @user1111261 to identify if the MacBook has a 64 bit CPU.

Which macOS is 64-bit only?

Catalina is the first version of macOS to support only 64-bit applications and the first to include Activation Lock. It is also the last version of macOS to have the major version number of 10; its successor, Big Sur, released on November 12, 2020, is version 11.


2 Answers

Mac OS X allow you to run 64 bits software on 32 bits Mac OS X and the reverse, 32 bits software on 64 bits Mac OS X. If your software use a lot of memory, don't hesitate to choose the 64 bits option. Else, you should benchmark to see what is better, as 64 bits software on a 32 bits kernel tend to have a bit of a performance hit.

some more info about it : http://macperformanceguide.com/SnowLeopard-64bit.html

like image 178
Laurent Bourgault-Roy Avatar answered Oct 01 '22 19:10

Laurent Bourgault-Roy


The Scheme setting changes what happens in Xcode when you click Run, Build, etc. The architecture settings are changed inside the project settings, visible in your screen shot. Only there would you be able to chose "32-bit only" or "64-bit only". And it is likely that if you publish a binary with 64-bit only it wouldn't run on 32-bit machines. You would have to build for both platforms and include both binaries in a single Universal binary to get backwards compatibility with 32-bit-only Macs.

like image 37
Jared Updike Avatar answered Oct 01 '22 21:10

Jared Updike