Ваш вопрос очень расплывчатый. Я постараюсь кое-что прояснить:
У любого недавнего Mac есть процессор, который поддерживает как 32-битный, так и 64-битный режимы исполнения.
На таком процессоре ядро OS X может работать в 32- или 64-битном режиме. В 10.6 и более ранних версиях по умолчанию ядро работало в 32-битном режиме. В версии 10.7 ядро по умолчанию работает в 64-битном режиме.
Приложение и связанные с ним библиотеки могут поддерживать работу в 32-разрядной, 64-разрядной или обеих версиях. Это полностью отличается от того, работает ли ядро в 64-битном режиме (то есть: вы можете запускать 64-битные приложения на 32-битном ядре и 32-битные приложения на 64-битном ядре).
В результате вы можете написать свой код как для 32-битного, так и для 64-битного кода, и он будет работать независимо от того, что делает ядро. Тем не менее, ваше приложение должно быть синхронизировано с самим собой; вы не можете смешивать 32-битный и 64-битный код в одном процессе.