-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trouble running and verifying MAS-signed app on MacOS X 10.12.6 #148
Comments
Hi @recommnded, thanks for filing this rare-encountering issue! I really appreciate your effort looking into all these resources 😺 From the information you provided, there are a few concerns I find...
A few suggestions:
And where to go next (first): A good way to make sure if the codesigning works would be launching a development-signed build of your app for distribution in the Mac App Store. And I believe you've already tested this yourself:
Did signing with this set up work? If the app crashes at launch, it would be great to fix the issue before trying to submit it again for review. |
@sethlu: thank you for your response so quickly. Every time I sit back down to try to figure this out another door to more information seems to open. This evening, I saw this post on SO which states:
It turns out this is a bit of a deal-breaker for us. Thus, I have moved onto signing my app for outside distribution. This seems to work especially when turning off sandboxing. Oddly, I do still see this error in RB App Checker:
So until we know more, you may close this issue. And please tell me where to donate! |
@recommnded I believe you are referring to this #88 (comment) if working with URL schemes. As of the current macOS I believe it's a little difficult to set this up for MAS distribution. 😿 Publishing your app outside the Mac App Store should be a more viable option I believe. By the way, currently we don't have a portal for donation yet. But we are grateful for your appreciation on this utility project. 🎉 Closing this issue for now... We can always come back to discuss solutions to this after macOS releases URL schemes for apps in the MAS. 😸 All the best with publishing your app! |
Main Issue
I'm having trouble signing my app on MacOS X 10.12.6 (16G29) for Mac App Store distribution. After signing the app it crashes. And future investigation shows there is something wrong with assigning the provisioning profile.
Specifically, I run into these three issues:
electron-builder
,electron-osx-sign
, or manually withcodesign
Supporting Notes
My Setup
[email protected]
[email protected]
[email protected]
52U...TLM8
com.electron.recommnded
(I was using 'com.recommnded.hr' but I changed to match the electron-osx-sign defaults)Hints about the error
When I run
spctl
on my signed app, I don't get a very promising or informative message:Output from RB App Checker Lite
In an attempt to learn a bit more about what was happening, I ran my app through RB App Checker and got the following:
The decoded provisioning profile looks like this (exposed when you click the arrow next to the row):
So far everything seems to match up correctly, but the important line there is
➤ The profile does NOT match the application's Team ID (52U...TLM8)!
. I am having trouble figuring out exactly what that means, but it initially led me to this page (https://developer.apple.com/library/content/qa/qa1879/_index.html) which hasn't really helped me make process.Packaging and Signing the App
I'll take you through what I did to package and sign the app to make sure I didn't do anything silly.
Package it up
electron-packager . --overwrite --platform=mas --arch=x64 --icon=assets/icons/icon.icns --no-prune --out=../releases
(output)
After packaging, the app seems to run fine before signing. Doesn't crash and works properly.
Signing
Here is my
mas.entitlements
file:My
electron.provisionprofile
is a developer provisioning profile with my machine's UUID as a device.When trying to sign a development version, I run this:
electron-osx-sign "../releases/Recommnded-mas-x64/Recommnded.app" --platform=mas --type=development --entitlements="./build/mas.entitlements" --provisioning-profile="electron.provisionprofile"
(output)
Reviewing the final entitlements embedded into the app
First the main app
codesign -d --entitlements :- ../releases/Recommnded-mas-x64/Recommnded.app
And the Helper app
codesign -d --entitlements :- ../releases/Recommnded-mas-x64/Recommnded.app/Contents/Frameworks/Recommnded\ Helper.app
And some other script to investigate the provisioning profile
$ security cms -D -i ../releases/Recommnded-mas-x64/Recommnded.app/Contents/embedded.provisionprofile
Again, that all looks ok to me. All of the Team IDs and App IDs match up. Also, that error on the first line didn't seem to really matter after investigating a few reports like this one (DanTheMan827/ios-app-signer#19)
Stuff I have tried
Originally was using
electron-builder
and this guide (but I believe I have been able to rule outelectron-builder
as the issue):Looked at this but my IDs do seem to match.
A previous issue helped me narrow down a few things, but never get it completely working:
Looked at this but manually signing the app with
--timestamp=none
only seemed to bring up an error finding an Electron frameworkAlso tried manually signing using scripts from, but still got same issue from RB Checker:
Looked at this but didn't seem to have any rogue symlinks lying around
Other notes that might be helpful
package.json
Production Node Modules
Crash Log from Apple when submitted to App Store (using the old App ID)
The text was updated successfully, but these errors were encountered: