0

我正在创建一个静态框架,并将在多个应用程序中使用它。在框架代码中,我禁用了 ARC 标志并设置为 NO。

我将使用该框架的其他项目可能会将 ARC 设置为 YES 或 NO。因此,如果 Framework 中的 ARC 标志与使用该框架的项目不匹配,应用程序会崩溃,因为它试图释放已经释放的东西。

有没有解决上述问题的方法?

问候,

尼拉夫

4

1 回答 1

3

ARC 是编译时设置,因此它是针对每个文件而不是针对每个应用程序的。您所要做的就是确保每个文件中的代码都与编译器一致,以确定它是否使用 ARC。如果您想在文件不使用 ARC 时抛出错误,请使用以下内容:

#if !__has_feature(objc_arc)
    #error This file should be compiled with ARC enabled
#endif

同样用于检测相反的情况。

于 2012-10-06T04:46:13.850 回答