私は OSx 開発の初心者です。
Packagemaker 3.0.4 を使用してインストーラー パッケージを作成しています。インストール中にアプリのローカル設定を削除したいので、com.identifier.plist を削除することにしました。しかし、私はスクリプト作成が得意ではなく、Packagemaker の機能を調べ始めたところです。
理想的には、実装を次のようにシンプルにしたいと考えています。
- .plist ファイルが存在するかどうかを確認します
- それを除く。
私が試してみました:
#!/bin/sh
defaults delete ~/Library/Preferences/com.identifier.AppName.plist
次に、delete.sh ファイルをデスクトップに保存しました。Packagemaker アプリを開き、Scripts Postflight でデスクトップへのパス (/Users/MyName/Desktop/delete.sh) を指定しました。次にビルド&ランを実行しました。うまくいきませんでした。おそらくスクリプトだと思ったので、次のように変更しました。
#!/bin/sh
rm ~/Library/Preferences/com.identifier.AppName.plist;
次に、上記のスクリプトで行ったのと同じ方法で、delete.sh ファイルをロードしました。しかし、私はこのエラーを受け取りました:
3 月 29 日 20:50:54 Mac-mini installd[5425]: PackageKit: インストールに失敗しました: PKG: "com.testIdentifier.test.AppName.pkg" のポストフライト スクリプト\nError Domain=PKInstallErrorDomain Code=112 UserInfo=0x100404220 "パッケージ「test.pkg」からスクリプトを実行中にエラーが発生しました。」{\n NSFilePath = "./postflight";\n NSLocalizedDescription = "パッケージ \U201ctest.pkg\U201d からスクリプトを実行中にエラーが発生しました。";\n NSURL = "./Contents/Packages/test.pkg -- file://localhost/Users/MyName/Desktop/AppName.mpkg/";\n PKInstallPackageIdentifier = "com.testIdentifier.test.AppName.pkg";\n}
スクリプトの作成と Packagemaker への追加のステップバイステップの実装を持っている人がいて、おそらく私のスクリプトが正しくない場合は、助けていただければ幸いです。
よろしくお願いします!:)