productbuild
「アプリ内購入コンテンツ」プロジェクトでいくつかのグーグルとテストを行った後、使用する必要があるのはコマンドラインツールだと思います。私自身は iOS 開発者なので、インストーラーを作成した経験はありませんが、アプリ内コンテンツの「pkg」ファイルはこのコマンド ライン ツールを使用して作成されていると確信しています。
正しいパラメータを見つけるには、
https://developer.apple.com/library/mac/#documentation/ToolsLanguages/Conceptual/OSXWorkflowGuide/DistributingApplications/DistributingApplications.html#//apple_ref/doc/uid/TP40011201-CH5-を参照してください。 SW1
またはman
。
編集:
XCodeが何をするかをテストするために、簡単なプロジェクトを作成しました
そして、私はそれをアーカイブしました:
次に、簡単なプログラムを作成しました。それを と呼びましょうArgumentLogger
。コードは次のとおりです。
int main(int argc, const char* argv[]) {
//Open a file for logging
FILE* file = fopen("/Users/Sulthan/Desktop/log.txt","a+");
for (int i = 0; i < argc; i++) {
//log all parameters
fprintf(file, "%s\n", argv[i]);
}
//end
fclose(file);
return 0;
}
例を挙げましょう - bash コマンドの場合:
ArgumentLoggger --arg test1 test2 test3
log.txt
含まれます
ArgumentLogger
--arg
テスト1
テスト2
テスト3
/usr/bin/productbuild
では、このプログラムに置き換えてみましょう
sudo mv /usr/bin/productbuild /usr/bin/productbuild_old
sudo mv ArgumentLogger /usr/bin/productbuild
次に、XCode で [配布] をクリックします。
そしてパッケージをエクスポートします。
log.txt
現在含まれている
/usr/bin/productbuild
- コンテンツ
/var/folders/v5/wwrmfpqx2mx1q5sf67_6vgg00000gn/T/FDCEA38E-1EF6-490B-8C30-8B0675C56CC8-47322-00014822C462D3CD/TestContent
/var/folders/v5/wwrmfpqx2mx1q5sf67_6vgg00000gn/T/FDCEA38E-1EF6-490B-8C30-8B0675C56CC8-47322-00014822C462D3CD/TestContent.pkg
これで、XCode が行ったことを正確に確認できます。
2番目のファイルは結果のファイルで、さらに何か手を加えているかどうかはわかりませんが、 で展開すると、 XCodeから作成されpkgutil
たものと同じ内容になっているようです。pkg
最初のファイルは、ファイルから直接取得されたように見えるディレクトリxcarchive
です。その内容を見てみましょう
編集 2:
要約すると、bash
スクリプトは次の行に沿ったものにする必要があります。
CONTENTS_DIR = $( find "$nameOfProject.xcarchive" -name "InAppPurchaseContent" -type d )
PKG_FILE = "$nameOfProject.pkg"
productbuild --content "$CONTENTS_DIR" "$PKG_FILE"