2012年5月24日木曜日

Xcodeのデバッガでの"error: error: reference to 'id' is ambiguous"について

Xcode4.3.2では、デフォルトのデバッガはlldbになってますが
なんかあやしい動きが多いです。

(lldb) po self.window
error: error: reference to 'id' is ambiguous
note: candidate found by name lookup is 'id'
note: candidate found by name lookup is 'id'
error: 1 errors parsing expression

こういうときはデバッガをgdbに変更しましょう。

デバッガの変更方法

Product > Edit Scheme… 
Run を選択し、 Infoタブで Debugger が LLDB になっているのを GDB に変えて OKボタン。

こちらの記事でも解説してます。


2012年5月16日水曜日

libxml2.dylib使用時の"file not found"エラー解決法

Xcode、Objective-Cでの話です。
XML関連の処理をするときにlibxml2.dylibをフレームワークに追加すると思います。
この時に、プロジェクトのビルド設定で"Header Search Paths"の設定を怠ると、エラーが発生します。

たとえば、こんな感じ

これは、Xcodeが適切なパスを探しにいってないせいです。
具体的には以下の手順で解決します。

プロジェクト設定の"Build Settings"タブを開き、"Search Paths"セクションにある"Header Search Paths"という項目に以下の値を追加します。

$(SDKROOT)/usr/include/libxml2


以上。
これでXcodeが目的のファイルを見つけられるようになります。

参考