我看到了一些对确切问题的回复。大多数回复要求包括“-fno-objc-arc”。
让我试着解释一下这个问题。
我有一个框架“MobileCommunicationLibrary.framework”,它使用了很多非 ARC 的东西,比如 1) 子类 NSAutoReleasePool 的类 2) 使用保留、释放
这个框架有一个头文件“MobileCommunicationLibrary.h”,我需要在 ARC 应用程序中导入它,还有许多其他头文件,MobileCommunicationLibrary.h 具有依赖性,如“VNSAutoReleasePool”。
现在我正在开发一个 iOS 应用程序“TestIQLNative”。这有类“AppDelegate.h”和“AppDelegate.m”,它们使用像弱属性这样的 ARC 东西并合成它。此类必须使用 ARC 编译或编译器标志必须是“-fobjc-arc”
此外,我需要将
当我导入时,我收到很多与保留、释放、NSAutoReleasePool 等相关的错误,因为它们不是 ARC。
我无法为 AppDelegate.m 设置“-fno-objc-arc”,因为那样会报错,提示合成仅在 ARC 中允许的弱属性。
有人可以帮忙吗?
<错误和我的构建阶段>
<头文件中的错误之一,在头文件中使用了非ARC
< 框架头文件,在Appdelegate.h中包含一个头文件>
<应用程序所需的框架头文件>
最佳答案
您不将该链接器标志放入 View Controller 的类中,而是在您正在使用的导入库中设置该标志。您可以通过以下方式完成此操作:
- 在 Xcode 中,在 [TARGETS] 下选择您的项目。
- 选择 [构建阶段] 选项卡。
- 在“编译源”下找到库的头文件/类文件。
- 为其添加编译器标志。
希望这对您有所帮助。
关于ios - 如何在 ARC iOS 应用程序中使用非 ARC 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27195421/