2013年03月14日

Xcode 4.6で外部フレームワークを追加する

昔開発したアプリケーションをメンテナンスする必要があったんだけど、それを開発していた頃のXcodeは3.2で実行できるマシンも結構古くて最新の便利で高速な環境に慣れている身としてはちょっと使いたくない。

軽微なバグ修正のみですぐ終わるのであれば、短時間なのでそのままの環境で開発した方が楽。だけど、ちょっと大規模な機能追加になりそうなので、環境は新しいほうがいい。

ということで、Xcode 4.6で開発することにする。単に新しい環境にプロジェクトを持って行き、プロジェクトをXcodeで開けばほぼOKだと思っていたが、ちょっと困った事があった。

このプロジェクトはOSに組み込まれているもの以外の外部フレームワークを使用している。だが、このフレームワークに含まれるヘッダファイルの読み込み個所でファイルが見つからないというエラーになってしまった。

前のXcodeでは普通にフレームワークをプロジェクトに追加するだけでヘッダファイルはそこを探索してくれたし、もちろんオブジェクトファイルもリンクしてくれる。その同じプロジェクトをビルドできないというのはどうにも納得がいなかい。

いったん、プロジェクトからフレームワークを削除して再度追加すると検索パスを認識してくれるかと思ったが、どうもうまくいかない。

色々調べた結果、OS組み込みのフレームワーク(/System/Library/Frameworks)以外のところにあるフレームワークは検索パスを設定しないといけないらしい。

ということでその設定方法。

プロジェクトの設定を開く


プロジェクトの「Build Settings」の検索フィールドに「framework」を入れて設定を検索する。
xcode-frameworks1.png

フレームワーク検索パス


新規に作成したプロジェクトでは「Framework Search Paths」は空欄になっているから、ダブルクリックして入力ダイアログを表示する。ここには複数のパスを列挙できるようになっているので、「+」ボタンで追加してパスを入力する。
xcode-frameworks2.png

確定する


ポップオーバーを閉じるのは外部のどこかをクリックする。すると、入力された状態になる。
xcode-frameworks3.png

以上でエラーに対応できた。ちなみに今回問題になったフレームワークはOpenBase。OpenBaseも12になってLion/Mountain Lionもサポート(ちなみにSnow Leopardも正式にサポート)。64bitアプリケーションになっている。

なお、上記の他にBase SDKがないエラーがあったがこれはBase SDKを最新のものにしてDeployment Targetを設定する事で対応した。

他にも警告が大量に出て来たのだがそれはまた別の話。
posted by 永遠製作所 at 21:08| 東京 ☀| Comment(0) | TrackBack(0) | Cocoa | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/347088465
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック