gpt4 book ai didi

objective-c - Xcode认为我的项目不再是ARC

转载 作者:行者123 更新时间:2023-12-01 19:17:53 24 4
gpt4 key购买 nike

好的,在尝试向项目中添加一些第三方代码之前,我一直在项目中使用ARC。我将文件夹拖入其中(不是项目文件,而是一些viewcontroller源文件)。第三方代码不是ARC,所以我做了编辑->重构->转换为Objective-C ARC ,然后仅选择第三方应用程序中的文件以转换为ARC。一切进展顺利,但我在以前的工作代码中开始收到以下警告:

TTKSoundGenerator.m:94:10: warning: '__bridge' casts have no effect when not using ARC [-Warc-bridge-casts-disallowed-in-nonarc]
(__bridge CFStringRef)soundFile,
^~~~~~~~
1 warning generated.

这是有些不对劲的第一个线索。我继续进行构建和运行,并确保该应用程序崩溃了,但仍在引用这些东西的情况下释放了东西。因此,尽管在项目文件中将 Objective-C自动引用计数设置为 ,但ARC根本无法工作。

我回过头来,对项目中的所有文件执行 编辑->重构->转换为Objective-C ARC ,以期纠正此问题,但没有尝试。因此,现在该项目陷入了ARC困境。似乎在执行重构时取消选择文件会导致Xcode向这些文件添加特殊情况“No ARC”。有关如何解决或进一步诊断此问题的任何想法?

最佳答案

无需将您的第3部分库转换为ARC,可以在同一项目中同时包含ARC代码和非ARC代码。由于您的第3部分库不是以ARC编写的,因此,如果直接使用它,则可以节省很多额外的工作。 (特别是如果您需要更新它)

如果您决定在项目中使用第三部分库,而没有ARC,我认为这是合理的。

看到这个:

is it possible to combine non-ARC and ARC project code?

关于objective-c - Xcode认为我的项目不再是ARC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com