【问题标题】:dispatch_release compiler error when upgrading deployment target升级部署目标时 dispatch_release 编译器错误
【发布时间】:2026-01-09 14:40:01
【问题描述】:

我被告知要将 iOS 应用程序的部署目标从 iOS 5.1.1 升级到 iOS 6.0。我在代码中有几个dispatch_queue_t 变量以及相应的dispatch_release 函数调用。编译器直到现在才抱怨我提高了部署目标。

我已经阅读了几篇与此相关的帖子(例如Does ARC support dispatch queues?),据说从 iOS 6.0 开始不再需要 dispatch_release,但是......我需要用另一个替换这样的函数调用吗?还是我只是删除它们?

谢谢

【问题讨论】:

    标签: ios deployment ios6 automatic-ref-counting grand-central-dispatch


    【解决方案1】:

    基本上,您可以简单地删除它们。编译器会自动发出代码以将调度队列和其他 GCD 对象作为 Objective-C 对象释放。如果存在保留周期,您可能需要稍作修改以释放调度队列。

    或者您可以使用 -DOS_OBJECT_USE_OBJC=0 编译器标志 as you read 保持 dispatch_release 调用。

    【讨论】: