Xcode 3.0 でMac OS X 10.3.9 以上で動くUniversal binary を作る
2008.1.29
Repeating Motif Generator Version 3.0.4 がMac OS X 10.3.9 で起動しない
Dockの中で何回か飛び跳ねているのですが、それからすっと消えてしまいます。
Version 3.0.4はInfo.plistを書き換えただけで、コードは一切変更していないため、動作チェックを行なっていませんでした。まさかと思ってチェックしてみるとやはり起動しません。
少々焦りながらバージョンを一つずつさかのぼって確認していきましたが、あえなく全滅。3.0でも起動しないところで、これはおかしいと気づきました。3.0がNGの筈はないのです。
そこで昔ビルドしたものを確認すると、ちゃんと起動しました。ここでコードの問題ではない事が確認できました。そう、LeopardになってXcodeが3.0になってから、Mac OS X 10.3.9で起動するアプリケーションをビルドできていないのです。
10.3.9のSDKをインストールする
そもそも標準インストールだったので、10.3.9のSDKすらインストールされていませんでした。これで10.3.9で起動するアプリケーションをビルドできるわけがありません。
まずは 10.3.9のSDKをインストールするところから始めます。LeopardのDVDを探して、Xcode Toolsのインストーラパッケージを起動します。
こんな感じで 10.3.9のSDKを選択します。

クロス開発とUniversal Binary
情報を探してクロス開発とUniversal Binary
というページを見つけました。Xcode 2.2の情報なので、そのまま適用というわけにはいきませんが、参考にはなります。
ターゲットSDKを選ぶ
プロジェクトメニューから「プロジェクト設定を編集」を実行します。表示されたウィンドウから「ベースSDKのパス」を探して以下の様に設定します。

最初はIntelとかPowerPCといったサブ項目は表示されていないと思います。これを追加するには左下の歯車が表示されたボタンから「アーキテクチャごとの設定を追加」を選んでサブメニューからそれぞれのCPUを選びます。
![]()
プロジェクトフォーマットを変更する
アーキテクチャごとの設定を追加すると、警告が表示される様になります。これはプロジェクトフォーマットがXcode 2.4ではアーキテクチャごとの設定をサポートしないためです。

そこでプロジェクトフォーマットを3.0に変更します。これは「一般」タブで設定できます。上から二番目の領域にポップアップメニューがあるので、そこで3.0を選べば警告が消えます。

なお、下の方にある「ターゲットSDKを使用したクロス開発」は「Mac OS X 10.4 (Universal)」である必要があります。
デプロイメントターゲットを設定する
最後にデプロイメントターゲットを設定します。再び「ビルド」タブに戻り「Mac OS X デプロイメントターゲット」を探して以下の様に設定して下さい。

私は最初ここが空欄になっていたため(空欄は「コンパイラのデフォルト」を意味する)10.3.9でクラッシュする現象に見舞われ、だいぶ悩みました。
HOME
前のページへ