背景:
我正在为 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 位的计算机:您will让这些用户望尘莫及。
我已经创建了一个标题 https://gist.github.com/MaddTheSane/d236feae5645b4b35719这将有助于过渡到 ARC,因为您可以在 64 位硬件上而不是 32 位硬件上定位 ARC,并且两者都可以工作。然而,这确实违背了 ARC 的目的,因为您仍然需要管理保留和释放,它们只是在构建 ARC 代码时被注释掉。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)