3

createphonegap-2.7.0の を使用してテンプレート プロジェクトを作成しました。このプロジェクトは非 ARC 対応であり、ARC に変換したいと考えていました。

libCordova.aに移動しEdit -> Refractor -> Convert to Objective-C ARC選択を解除し ( hereおよびアップグレードガイド 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 Automatic Reference Counting」と呼ばれます。オンにして、そして、あなたが行きます。

既存のコードで作業している場合、この設定を変更すると大量のエラーが発生します。ARC はメモリを管理するだけでなく、自分でメモリを管理しようとすることを禁止します。ARC を使用している場合、retain/release/autorelease を手動で送信することは違法です。通常の非 ARC Cocoa コードにはこのようなものが散らばっているため、多くのエラーが発生します。

幸いなことに、Xcode には既存のコードを変換するツールが用意されています。Edit -> Refactor... -> Convert to Objective-C ARC... を選択すると、Xcode がコードの変換をガイドします。何をすべきかを理解するのに助けが必要な状況もあるかもしれませんが、プロセスはほとんど自動化されるべきです。」

于 2014-09-11T06:35:11.993 に答える