我正在尝试为Mac Apple Store创建可分发的PKG文件。
我遵循了这些链接的要求:
但是我从应用程序加载器中得到了一个错误:
ERROR ITMS-90270: "Unsupported toolchain. Packages submitted to the App Store must be created either through Xcode, or using the productbuild[1] tool, as described in "Submitting your Mac apps to the App Store." Packages created by other tools, including PackageMaker, are not acceptable. [SIS]".
我在Google上没有找到关于此错误代码的一无所获,并且我正在使用productbuild
..
pkgbuild --component-plist ./pkg/app.plist --identifier my.bundle.identifier --root /path/to/root/ my-component.pkg
productbuild --resources Resources --version 0.1.1 --distribution Distribution my-pkg.pkg
<?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">
<array>
<dict>
<key>BundleHasStrictIdentifier</key>
<false/>
<key>BundleIsRelocatable</key>
<false/>
<key>BundleIsVersionChecked</key>
<false/>
<key>BundleOverwriteAction</key>
<string>upgrade</string>
<key>RootRelativeBundlePath</key>
<string>Applications/my-app.app</string>
</dict>
</array>
</plist>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<installer-gui-script minSpecVersion="1">
<title>My app</title>
<options customize="never" require-scripts="false" rootVolumeOnly="true"/>
<domains enable_localSystem="true"/>
<license file="license.txt"/>
<welcome file="welcome.html" mime-type="text/html"/>
<background file="background.tif" mime-type="image/tiff"/>
<pkg-ref id="my.bundle.identifier" version="0.1.1" auth="root" onConclusion="None" installKBytes="16426">#my-component.pkg</pkg-ref>
<choices-outline>
<line choice="my.bundle.identifier"/>
</choices-outline>
<choice id="my.bundle.identifier" visible="false" title="My app" description="My app" start_selected="true">
<pkg-ref id="my.bundle.identifier"/>
</choice>
<pkg-ref id="my.bundle.identifier">
<bundle-version>
<bundle
CFBundleName="My app"
CFBundleDisplayName="My app"
CFBundleIconFile="My app.icns"
CFBundleExecutable="launcher"
CFBundlePackageType="APPL"
CFBundleIdentifier="my.bundle.identifier"
CFBundleShortVersionString="0.1.1"
CFBundleVersion="0.1.1"
id="my.bundle.identifier"
path="Applications/My app.app"/>
</bundle-version>
</pkg-ref>
</installer-gui-script>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>My app</string>
<key>CFBundleDisplayName</key>
<string>My app</string>
<key>CFBundleIdentifier</key>
<string>my.bundle.identifier</string>
<key>CFBundleDevelopmentRegion</key>
<string>fr-FR</string>
<key>CFBundleExecutable</key>
<string>launcher</string>
<key>CFBundleIconFile</key>
<string>My app.icns</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleVersion</key>
<string>0.1.1</string>
<key>CFBundleShortVersionString</key>
<string>0.1.1</string>
<key>NSAppleScriptEnabled</key>
<string>NO</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>LSApplicationCategoryType</key>
<string>public.app-category.medical</string>
</dict>
</plist>
(注意:这是Java 11(使用的jlink)下的JavaFX模块应用程序)