背景
我正在为OS X构建一个应用程序,部署目标为10.6。我没有完全将我的应用程序转换为ARC,但是我添加了一些可以从ARC中受益的新类,所以我为这些类设置了-fobj-arc
编译器标志。
通用32/64位英特尔架构的编译失败,使用旧版运行时的平台不支持错误 -fobj-arc。
仅为64位构建成功。
我不熟悉低级架构。我的问题是:仅为64位Intel构建的影响是什么?这会阻止应用程序完全在10.6上运行吗?或者只有一些机器运行10.6?
答案 0 :(得分:11)
OS X的Objective-C的32位运行时相当陈旧。 Apple将它们移动到64位时更新了运行时,但对32位运行时没有做太多。
至于仅64位的构建:大多数Mac现在都有64位处理器。但是,10.6确实支持32位计算机:将将这些用户留在尘埃中。
I have created a header将有助于过渡到ARC,因为您可以在64位硬件上而不是在32位硬件上定位ARC,两者都可以。但是,这实际上违背了ARC的目的,因为您仍然需要管理保留和释放,在构建ARC代码时它们只会被注释掉。