I am getting these error when uploading an electron app to Mac App Store using transporter.
Asset validation failed (90230)
Invalid product archive metadata. Error in keyPath [product-metadata.product-identifier]. Please re-build your archive with an up-to-date version of Xcode, and submit again. (ID: 42de3de7-0fab-4f22-ab01-06195842aaaa)
Asset validation failed (90230)
Invalid product archive metadata. Error in keyPath [product-metadata.product-version]. Please re-build your archive with an up-to-date version of Xcode, and submit again. (ID: 63470cc8-c192-4500-a51d-ded305887f88)
I am using electron forge (7.3.1), updated to latest version of electron (29.1.6) and XCode(15.3), used packagerConfig.extendInfo
to overwrite the following keys and checked the final package does have these in info.plist
<key>DTPlatformVersion</key>
<string>14.4</string>
<key>DTSDKBuild</key>
<string>23E208</string>
<key>DTXcode</key>
<string>1530</string>
<key>DTXcodeBuild</key>
<string>15E204a</string>
Where is product-metadata
defined and how do I fix it?
2
Answers
Turns out it refers to the arguments of productbuild
I have to modify
@electron/osx-sign
to include these arguments for theproductbuild
commandproductbuild requires you to use the –component variation of its command line options when building for the App Store. This is made explicit in https://www.unix.com/man-page/osx/1/productbuild/. If you use the other variations, you get a valid .pkg file but the app verification via transporter or altool will give you the warnings in the posted question. This tripped us up for a while as we ported an app from independent distribution to be App Store compliant.