高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先

Technical Q&A QA1322
ZeroLink 利用の開発:小さいアプリケーションと他のコンピュータでの起動


Q:Xcode を使ってアプリケーションをビルドしたところ、次の 2 つの問題が生じました。アプリケーションのバイナリが以前よりもずっと小さくなり、それをビルドした Mac 以外では起動しません。なぜでしょうか?

A:ZeroLink を有効にしてアプリケーションをビルドしたのが原因です。ZeroLink は新しい強力な技術で、アプリケーションを小さなスタブとしてビルドし、実行時に .o ファイルを読み込んでリンクすることによって、アプリケーションをビルドする際のリンクの手順を省きます。これには、次の 2 つの意味があります。

  • アプリケーションパッケージ内のアプリケーションのバイナリ自体は、通常よりも格段に小さくなります。アプリケーション自体はスタブに過ぎず、アプリケーションの残りの部分は実行時に必要に応じてロードされるようになっているためです。
  • 他の Macintosh にドラッグ(または、エンドユーザに配布)した場合、アプリケーションは正常に実行されません。完全なアプリケーションではないためです。それはスタブに過ぎず、残りの部分はディスク上のどこかにあります。
ZeroLink は開発のターンアラウンド時間を短縮するために非常に役立ちますが、これら 2 つの問題が生じた場合には、Xcode の ZeroLink を一時的にオフにするほうがよいでしょう。ビルドスタイルはターゲットの設定に優先するので、ターゲットでの ZeroLink の設定を変更しても効果がありません。Development ビルドスタイルでは ZeroLink がオンになり、それはターゲットでの設定に優先します。Xcode はこの設定が効果を持たないことを、ターゲットインスペクタの「build(ビルド)」タブに線を引くことによって示します。ZeroLink をオフにするには、プロジェクトインスペクタ(Xcode 内のプロジェクトをクリックし、Command-l を押し、「Styles(スタイル)」タブを選択して、「Development build sytle(Development ビルドスタイル)」を選択)の Development ビルドスタイルの「ZeroLink(ゼロリンク)」チェックボックスのチェックを外します。それから Xcode 内のアプリケーションを消去して再ビルドし、ZeroLink に依存しないアプリケーションを生成する必要があります。



注:
ZeroLink に依存しないアプリケーションを生成するもう 1 つの方法は、Deployment ビルドスタイルに切り替えることです。これは(Development ビルドスタイルとは異なり)、ZeroLink をオンにしません。2 つのビルドスタイル間の切り替えは、Xcode ツールバーをカスタマイズすることにより、必要に応じて簡単に行えます。「View(表示)」メニューから「Customize Toolbar(ツールバーのカスタマイズ)」を選択し、ビルドスタイルを有効にするための「build style(ビルドスタイル)」ポップアップメニューを追加します。この場合も ZeroLink を使用しないアプリケーションをビルドするには、消去と再ビルドが必要です。




[2003 年 10 月 31 日]