I have an application developed in Go (for macOS only-no mobile) that has a directory structure like this:
Code Block myapp.app └── Contents ├── Info.plist ├── MacOS │ └── myapp.app ├── README ├── Resources │ └── icon.icns └── _CodeSignature └── CodeResources
The app installer looks and works very nicely after going through
code-signing process. The .app (and contents) are first signed with the Developer ID Application cert with --options=runtime for hardening.
The productbuild command is used to build the installer, and the productsign command is used to sign with the 3rd Party Mac Developer Installer cert.
The installer package that is created works as expected. I am able to notarize the application/staple it if the Developer ID Installer is used to sign the package.
But in this case I am using the 3rd Party Mac Developer Installer to sign the package for the app store. After the signing is completed, I use this command to validate the package:
Code Block xcrun altool --validate-app -f file -t platform -u username [-p password] [--output-format xml]
This is where the problem occurs. Despite a package installer that works fine, I am unable to validate the app:
Code Block <plist version="1.0"> <dict> <key>os-version</key> <string>10.15.7</string> <key>product-errors</key> <array> <dict> <key>code</key> <integer>-20008</integer> <key>message</key> <string>The Info.plist indicates a Mac app, but submitting an ipa.</string> <key>userInfo</key> <dict> <key>NSLocalizedDescription</key> <string>The Info.plist indicates a Mac app, but submitting an ipa.</string> <key>NSLocalizedFailureReason</key> <string>Unable to validate your application.</string> </dict> </dict> </array> <key>tool-path</key> <string>/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string> <key>tool-version</key> </dict> </plist>
I also tried adding the app with the Transporter tool. That tool results in the error:
Code Block Failed to create the .itmsp for 'myapp.pkg'. Failed to get the app's bundle id.
Here is the Info.plist:
Code Block <plist version="1.0"> <dict> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>myapp</string> <key>CFBundleExecutable</key> <string>MacOS/myapp.app</string> <key>CFBundleIdentifier</key> <string>name.myapp</string> <key>CFBundleVersion</key> <string>1.0</string> <key>CFBundleGetInfoString</key> <string>myapp by my co</string> <key>CFBundleShortVersionString</key> <string>1.0</string> <key>CFBundleIconFile</key> <string>icon.icns</string> </dict> </plist>
Any suggestions are greatly appreciated.