3

create我使用inphonegap-2.7.0创建了一个模板项目。该项目将不启用 ARC,我想将其转换为 ARC。

我去了Edit -> Refractor -> Convert to Objective-C ARC取消选择libCordova.a (如此处升级指南 2.0.0 到 2.0.1中所述)并尝试转换为 ARC。一切都正确编译,但最后我得到了这个链接器错误。

我正在使用 Xcode 4.5

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo:无法确定架构类型:/Users/administrator/Library/Developer/Xcode/DerivedData/ServerSockPG- cbdtpihmguyehtaqenaxuqiwkpyz/Build/Intermediates/ServerSockPG.build/Debug-iphoneos/ServerSockPG.build/Objects-normal/armv7/ServerSockPG 命令

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo 失败,退出代码为 1

请指导我如何解决这个问题。

4

1 回答 1

0

“ARC 在 Xcode 4.2 中可用,最新的更高版本是 XCODE 6.0,并且仅在使用 Clang(又名“Apple LLVM 编译器”)编译时。显然,该设置被称为“Objective-C 自动引用计数”。打开它,然后你就走了。

如果您正在处理现有代码,则更改此设置将产生大量错误。ARC 不仅为您管理内存,而且还禁止您自己尝试。使用 ARC 时手动发送保留/释放/自动释放是非法的。由于普通的非 ARC Cocoa 代码充满了这些东西,你会得到很多错误。

幸运的是,Xcode 提供了一个转换现有代码的工具。选择 Edit -> Refactor... -> Convert to Objective-C ARC...,Xcode 将指导您完成代码转换。尽管在某些情况下可能需要帮助来确定该做什么,但该过程应该在很大程度上是自动的。”

于 2014-09-11T06:35:11.993 回答