9

Mac App Store へのアプリの送信に関するApple のドキュメントには、/Developer/usr/bin/ にあるコマンド productbuild の使用例が含まれています。

productbuild \
--component build/Release/Sample.app /Applications \
--sign "3rd Party Mac Developer Installer: Name1 Name2" \
--product product_definition.plist Sample.pkg

サンプル アプリでこのコマンドを実行すると、次のエラーが表示されます。

productbuild: エラー: "product_definition.plist" に製品定義 plist が見つかりません。

この product_definition.plist とは何ですか? どこから取得する必要がありますか? その中に何が含まれている必要がありますか? この plist を作成するにはどのツールを使用する必要がありますか?

4

2 に答える 2

11

リンクしたAppleドキュメントから:「単一のコンポーネント、署名、および(オプションで)製品定義ファイルを指定する必要があります。」

特定の要件がない限り、製品定義ファイルは必要ありません。必要な場合は、 の man ページにproductbuild多くの情報があります。次の例のように、単なる plist 辞書です。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>gl-renderer</key>
    <string>( 'GL_APPLE_float_pixels' IN extensions )</string>
</dict>
</plist>

アーカイブされたアプリケーションをパッケージとして共有する場合、Xcode が製品定義ファイルを使用しないことを確認しました。これは実際のコマンド ラインです。

/usr/bin/productbuild --component <path-to-xcarchive>/Cool.app 
                      /Applications 
                      <tmp-path>/package.pkg 
                      --sign 3rd Party Mac Developer Installer
于 2011-11-15T10:19:59.160 に答える
3

man productbuild を実行して、セクション PRODUCT DEFINITION PROPERTY LIST で始まるセクションを探すと、

PRODUCT DEFINITION PROPERTY LIST
 When you use productbuild to synthesize a distribution (e.g. with the --component option), you can specify additional parameters and
 requirements in a separate property list file, specified with the --product option. At the top level, this property list is a dictio-
 nary, with the following keys:

 Key                       Description
 os                        Minimum allowable OS versions (array of strings)
 arch                      Supported architectures (array of strings)
 ram                       Minimum required RAM in gigabytes (real)
 bundle                    Specific bundles that must exist on the system (array of dictionaries)
 all-bundles               Are all of the bundles specified required? (Boolean)
 gl-renderer               Required OpenGL capabilities (string)
 cl-device                 Required OpenCL capabilities (string)
 single-graphics-device    Must OpenGL and OpenCL requirements be met by a single device? (Boolean)
 home                      Should installation be allowed in user home directory? (Boolean)

XCodeまたはテキストエディタで生成できるはずの、さらに多くの情報が提供されています。XCode 内で新しい plist を作成し、要件と man ファイルにリストされている可能な値に従ってキーと値のペアを追加するだけです。

于 2011-11-12T15:28:07.490 に答える