Has anybody managed to submit to the Mac App Store?
I try to upload the .pkg via Application Loader. Also seems to go ok, but then get long rejection email (see below) + invalid binary status.
Dear developer,
We have discovered one or more issues with your recent delivery for "Dinosaur Chess - Learn to Play!". To process your delivery, the following issues must be corrected:
Invalid Signature - The main app bundle Dinosaur Chess at path Dinosaur Chess.app has following signing error(s): code object is not signed at all In architecture: x86_64 . Refer to the Code Signing and Application Sandboxing Guide at
http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
https://developer.apple.com/library/mac/technotes/tn2206/_index.html for more information.
Invalid code signature - Signatures created with OS X version 10.8.5 or earlier [v1 signatures] are obsoleted and will no longer be recognized by Gatekeeper beginning with OS X version 10.9.5. To ensure your apps will run on updated versions of OS X they must be signed on OS X version 10.9 or later [v2 signatures]. Bundle with identifier 'com.universis.dinosaurchess' does not have v2 signature. For more information, see OS X Code Signing In Depth
etc etc and....
Unable to Sign - This package doesn't meet the current code signing requirements. For more information, see the Code Signing and Application Sandboxing Guide and Technical Note 2206.
Specifically, codesign generated the following error:
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Frameworks/QtCore.framework/QtCore: bundle format is ambiguous (could be app or framework)
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Frameworks/QtDBus.framework/QtDBus: bundle format is ambiguous (could be app or framework)
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Frameworks/QtGui.framework/QtGui: bundle format is ambiguous (could be app or framework)
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia: bundle format is ambiguous (could be app or framework)
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Frameworks/QtMultimediaWidgets.framework/QtMultimediaWidgets: bundle format is ambiguous (could be app or framework)
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Frameworks/QtNetwork.framework/QtNetwork: bundle format is ambiguous (could be app or framework)
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Frameworks/QtOpenGL.framework/QtOpenGL: bundle format is ambiguous (could be app or framework)
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Frameworks/QtPrintSupport.framework/QtPrintSupport: bundle format is ambiguous (could be app or framework)
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Frameworks/QtWidgets.framework/QtWidgets: bundle format is ambiguous (could be app or framework)
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/MacOS/Dinosaur Chess: code object is not signed at all
In subcomponent: com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Entitlements.plist
com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app: code object is not signed at all
In subcomponent: com.universis.dinosaurchess.pkg/Payload/Dinosaur Chess.app/Contents/Entitlements.plist
Invalid Signature - The main app bundle Dinosaur Chess at path ${path} has following signing error(s): Missing code signature. Refer to the Code Signing and Application Sandboxing Guide at
http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
https://developer.apple.com/library/mac/technotes/tn2206/_index.html for more information.
etc, etc
Any ideas?
Comments
I see that in the not, that there is no version 2 envelope for the Mavericks MAc, but no idea how to get it to sign that way. Or maybe only Mavericks OS can submit apps now?
What do you get if you run:
codesign -dv "Dinosaur Chess.app/"
Pauls-iMac:Dinosaur Chess paulshafi$ codesign -dv "Dinosaur Chess.app/"
Executable=/Users/paulshafi/Desktop/macapp/Dinosaur Chess1/Dinosaur Chess.app/Contents/MacOS/Dinosaur Chess
Identifier=com.universis.dinosaurchess
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=16011 flags=0x0(none) hashes=793+3 location=embedded
Signature size=4393
Signed Time=29 Jan 2016, 14:14:35
Info.plist entries=12
TeamIdentifier=NXP5AM57FP
Sealed Resources version=2 rules=12 files=674
Internal requirements count=1 size=220
It says here:
https://blog.inventic.eu/2015/03/os-x-codesign-failed-bundle-format-is-ambiguous-could-be-app-or-framework/
The problem is, that during the copy it’s necessary to keep all symbolic links inside frameworks. Without this, singing will fail.
So instead of
1
cp -r ./Source ./Destination
it’s necessary to use
1
cp -R ./Source ./Destination
There seems to be a few problems. QT is using v1 signatures which is no longer valid; symbolic links in the framework are wrong.
I assume no one has managed to successfully submit a Gideros app to the Mac App Store?