1

我已经使用启用 ARC 的 xcode 4.3.2 开发了一个应用程序,我的应用程序用户拥有 ios3.2、ios4.0、ios5.0 设备我如何支持较低版本的 ios 设备使用。我是否需要在代码中做任何事情边 。或者有什么方法可以动态设置ARC。

任何人对此有任何想法请与我分享。谢谢

4

3 回答 3

2

ARC不依赖于设备或操作系统(请参阅下面的注释)。它是 LLVM 编译器功能(可以使用 -fno-objc-arc 编译器标志禁用)。编译器管理内存而不是程序员。最终的可执行文件彼此之间不会有太大的不同,并且可以在为您的项目指定的最低操作系统上运行(如果您不使用 ARC 特定的关键字等)。

注意:根据 Apple 的Transitioning to ARC Release Notes from Apple,ARC 编译的可执行文件只能在 iOS 4 及更高版本上运行。此外,弱引用仅在 iOS 5 上受支持。

于 2012-04-23T12:30:48.943 回答
0

只需将目标部署设置为您的用户可能使用的最低 iOS 版本。仅在 Xcode 中编译应用程序时自动引用计数。启用应用程序的 ARC 的内存由编译器 (Xcode) 管理。因此,您无需担心设备的目标 iOS 版本。只需将目标部署设置为 3.2 或 4 等。

于 2012-04-23T12:32:25.490 回答
0

I think at least it is not guaranteed to work correctly on iOS 3.x. See Transitioning to ARC Release Notes from Apple:

ARC is supported in Xcode 4.2 for Mac OS X v10.6 and v10.7 (64-bit applications) and for iOS 4 and iOS 5. Weak references are not supported in Mac OS X v10.6 and iOS 4.

于 2012-04-23T13:00:29.943 回答