Apple's document on submitting an app to the Mac App store contains this example use of the command productbuild, from in /Developer/usr/bin/.
productbuild \
--component build/Release/Sample.app /Applications \
--sign "3rd Party Mac Developer Installer: Name1 Name2" \
--product product_definition.plist Sample.pkg
When I run this command on my Sample app, I get the error:
productbuild: error: No product definition plist found at "product_definition.plist".
What is this product_definition.plist, where should it come from, what should be inside it, and what tool should be used to create this plist?
If you run man productbuild and look for the section PRODUCT DEFINITION PROPERTY LIST which starts with
Lots more information is given, which you should be able to generate with XCode or a text editor. Within XCode just create a new plist and add the key/value pairs according to your requirements and the possible values listed in the man file.
From the Apple document you linked: "You should specify a single component, a signature, and (optionally) a product definition file."
Unless you have a specific requirement, you don't need a product definition file. If you need it, the man page of
productbuild
has a lot of information. It is just a plist dictionary, like this example:I've verified that Xcode doesn't use a product definition file when you share an archived application as package. This is the actual command line: