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