Ios 即使某些第三方库处于非ARC实现状态,也会切换到ARC

Ios 即使某些第三方库处于非ARC实现状态,也会切换到ARC,ios,objective-c,xcode,cocoa-touch,automatic-ref-counting,Ios,Objective C,Xcode,Cocoa Touch,Automatic Ref Counting,我已经开始在我的项目中使用弧自动引用计数。我正在使用两个第三方库,这些库是我从另一个仍然使用非ARC代码的团队那里获得的。即使外部库不符合ARC,开始使用ARC是否安全?当然,在编译的非ARC代码旁边使用ARC是安全的。编译器足够聪明,可以在必要时插入保留和释放 如果其他库作为源代码提供给您,您可以通过添加-fno objc ARC编译器标志来禁用这些文件的ARC,并且它将与启用ARC的代码一起工作。您可以在目标的构建阶段添加此标志。只需确保库遵循正确的命名约定即可。这可能会使编译器感到困惑,即

我已经开始在我的项目中使用弧自动引用计数。我正在使用两个第三方库,这些库是我从另一个仍然使用非ARC代码的团队那里获得的。即使外部库不符合ARC,开始使用ARC是否安全?

当然,在编译的非ARC代码旁边使用ARC是安全的。编译器足够聪明,可以在必要时插入保留和释放


如果其他库作为源代码提供给您,您可以通过添加-fno objc ARC编译器标志来禁用这些文件的ARC,并且它将与启用ARC的代码一起工作。您可以在目标的构建阶段添加此标志。

只需确保库遵循正确的命名约定即可。这可能会使编译器感到困惑,即如果出现“new”一词,但函数没有返回+1对象,则ARC将错误地释放它,或者我是这么理解的。@Borrden:第三方库应采取哪些预防措施来避免不必要的内存问题。最近下班,我看到很多由于内存管理问题而导致的崩溃。@Abhinav以下是与ARC相关的命名约定的一个很好的答案:。如果您有第三方库的源代码,通过static analyzer Product>Analyze运行源代码应该指出库不遵循命名约定的地方。@robmayoff:我没有第三方的源代码,只有编译的.a库文件。那有帮助吗?