背景
openFrameworks(以下oF)で開発したアプリケーションを配布する際に、 使用するカメラなどの設定をユーザが設定できるようにしたかった。 そのために、ofxXmlSettingsを使ってロードする.xmlファイルを.appに含めたかった。
検証環境
- of_v0.11.2_osx_release
- Xcode 14.3
手順
dataのファイルを.appに含める
Run Scriptに追加以下のスクリプトを追加する。
これで、 bin/data
以下のファイルが $TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources
にコピーされる。
cp -r bin/data "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources";
Run Scriptでコピーしたファイルを参照するようにする
次に ofApp::setup()
内で以下の関数を呼び出す。
ofSetDataPathRoot("../Resources/data/");
この関数を呼び出す理由としては、ビルドしたoFの実行ファイルは $TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME
に存在しているため、
oFがデータをロードする際に参照するパスを $TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/../Resources/data/
とすることで、
Run Scriptでコピーしたファイルが参照されるように設定している。