11

Mac OS X 10.7.5 で CMake 2.8.10.2 を使用しています。

空のウィンドウを作成する Xcode を使用して単純なアプリケーションを構築するように CMake を構成しました。次に、以下を使用して背景画像を指定するプログラムの DMG インストールをビルドするように CMake を構成しようとしました。

set(CPACK_DMG_BACKGROUND_IMAGE /path/to/image)

カスタム .DS_Store を使用して、ウィンドウのサイズとアイコンの配置を設定します。

set(CPACK_DMG_DS_STORE /path/to/DS_Store ファイル)

Xcode はアプリケーションを正常にビルドし、ディスク イメージを作成します。画像をマウントすると、正しいサイズとアイコンの配置が表示されますが、背景は指定された背景画像ではなく常に白に設定されます。

ディスク イメージで背景を適切に表示するには何が必要ですか?

4

2 に答える 2

11

残念ながら、誰もこの質問に答えていません。これは苛立たしい経験でしたが、ようやく解決したようですので、誰かがこれに対処しなければならない場合に悲しみを救うために、ここに説明を投稿します.

背景がインストール イメージで機能するには、基本的に 2 つのことが必要です。バックグラウンド ファイルはインストール イメージ内に存在する必要があり、イメージのルートにある .DS_Store がそのバックグラウンドを使用するように構成されている必要があります。

.DS_Store ファイルは、インストール イメージを書き込み可能な状態でマウントし、Finder の [表示] メニューから[表示オプションの表示] を選択することで構成できます。そこから、誰かが背景の画像オプションを選択し、背景ファイルを[表示オプションの表示]パネルのプレースホルダーにドラッグします。

CPack を使用するときのコツは、画像をドラッグできるようにすることです。誰かがインストール用の背景を設定し、イメージをビルドしてマウントすると、 [表示オプションの表示]パネルにドラッグする背景がないように見えます。誰かがターミナルに入って行った場合

ls -a

マウントされたインストールのルートで、このコマンドはとりわけ background.png というファイルを一覧表示します。このファイルは Finder に表示されません。

このファイルが Finder ではなくターミナルに表示される理由は、Finder に対して非表示にする拡張属性があるためです。ファイルは Finder から非表示になっているため、ファイルを[表示オプションの表示]パネルにドラッグすることはできません。やっている

ls -l@

ファイルに適用されている拡張属性が明らかになります。com.apple.FinderInfo という 1 つだけが存在する必要があります。この属性を削除すると、ファイルが Finder で表示されるようになります。属性は、ターミナルからこのコマンドを使用して削除できます

xattr -d com.apple.FinderInfo background.png

属性を削除した後も、バックグラウンド ファイルはすぐに Finder に表示されません。誰かがインストール イメージを取り出して再マウントする必要があります。これが完了すると、背景ファイルが Finder に表示され、誰かがそれを[表示オプションの表示]パネルにドラッグできます。これにより、インストール イメージの Finder ウィンドウに背景画像が表示されます。その後、誰かがインストール イメージのルートから .DS_Store ファイルをコピーし、それを CPACK_DMG_DS_STORE 属性に適用すると、インストール イメージがビルドされるたびに背景イメージが表示されます。

于 2013-05-21T04:28:27.643 に答える