【问题标题】:If I convert my app to ARC, will it still work on devices running iOS 4?如果我将我的应用程序转换为 ARC,它仍然可以在运行 iOS 4 的设备上运行吗?
【发布时间】:2011-10-16 05:43:14
【问题描述】:

我刚刚将我的应用转换为 ARC,更新是否仍可在运行 iOS 4 的设备上运行?

另外,新的 UIAlertView 文本输入样式怎么样?

【问题讨论】:

    标签: iphone objective-c ios cocoa-touch automatic-ref-counting


    【解决方案1】:

    ARC 代码在 iOS 4.0+ 和 Mac OS X 10.6+ 上运行,但是,您不能使用归零弱引用。这仅在 iOS 5+ 和 Mac OS X 10.7+ 上受支持。

    这在Transitioning to ARC Release Notes 中有记录。

    【讨论】:

    • 错了,只有4.3及以上。他们提到了 iOS 4,因此意味着最新的 4.3,其中操作系统没有原生 ARC 支持,而是 Apple 编写的静态库。他们编写的 WWDC 应用证明了这一点
    • @LeeArmstrong 对不起,您完全错了。不需要任何静态库来支持 ARC,只需要 iOS 4.0+ 中提供的动态链接支持类型。 LLVM 编译器为非本地支持发出特殊的 ARC 代码。这就是为什么除了归零弱变量之外的所有东西都有效的原因。这可以通过在某些非 4.3 版本的 iOS 4 上运行示例应用程序来轻松展示。在 Mac OS X 10.6 和 iOS 4 中唯一不能使用的是零弱变量(4.3 中确实存在对此的一些支持,但它并不真正受支持)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多