Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign upMAS code signing and distribution guide request #6338
Comments
This comment has been minimized.
This comment has been minimized.
|
Good news everyone! The reason of the crash was the usage of the apple sandbox entitlement. If it is set to However it would be nice to find out the problem that leads our app to crash while running in the sandbox. The log attached to the issue says much about sandbox errors. So any ideas on how to solve them are welcome! |
This comment has been minimized.
This comment has been minimized.
|
This issue is obviously related to #6041 |
This comment has been minimized.
This comment has been minimized.
|
Ok, I've found a fix to the According to Apple documentation:
So the way to fix the problem is to move
This fix helps to sign the application for a MAS distribution properly that can be proved via
But unfortunately the application still can not be submitted to Mac App Store because the Also the solution described above doesn't help to add the app sandbox capability. The application keeps crashing on start every time the sandbox option appears in Looking forward for any help or advice. |
tankakatan
referenced this issue
Dec 23, 2017
Closed
Unsealed contents present in the root directory of an embedded framework #6041
This comment has been minimized.
This comment has been minimized.
|
Yesterday I have finally gained success with getting But the final fix was to add our team id to the application bundle id in the app entitlements. BTW the
So the correct format for this entitlement is <key>com.apple.security.application-groups</key>
<array>
<string>TEAM_ID.your.app.bundle.id</string>
</array>Unfortunately the issue with app sandboxed mode still remains unsolved. Still waiting for any help or feedback on this subject. Thanks everyone for the attention. Merry xmas and sorry for my awful english. |
Christywl
added
the
documentation
label
Dec 27, 2017
This comment has been minimized.
This comment has been minimized.
Arti3DPlayer
commented
Jan 18, 2018
•
|
@tankakatan thank you, I will try your solution. Spent a lot of hours with Also, did you build app with nw-builder? |
This comment has been minimized.
This comment has been minimized.
|
@Arti3DPlayer here's my script for that:
To synchronise bundle ids you can use PlistBuddy – a very handy tool for that. So my script is something like this:
Also i suggest you to update |
This comment has been minimized.
This comment has been minimized.
Arti3DPlayer
commented
Jan 24, 2018
•
|
@tankakatan thanks, it works! But Users still get message that app from Unknown developer. i used mas.py script And yes still crashing problem with Sandbox=Yes that makes impossible to upload app to Appstore |
This comment has been minimized.
This comment has been minimized.
|
@Arti3DPlayer it is ok to see the unknown developer warning until your users do not have to manually allow gatekeeper to run your app. It means that as long as you need to go to the system security settings to open your application its code signature is incorrect. Sadly i haven't found a solution to the sandbox issue yet. The apple console shows a number of different errors refer to |
This comment has been minimized.
This comment has been minimized.
Arti3DPlayer
commented
Jan 24, 2018
•
|
@tankakatan I fixed my problem by set the full name of certificate in
And its weird because when I used only code from brackets in this line(TT666666) it used
I didn't test this with auto update yet. Hope I will be able to swap apps programmatically Found a lot of useful info from electron documentation: |
This comment has been minimized.
This comment has been minimized.
gpetrov
commented
Apr 8, 2018
|
@tankakatan, @Arti3DPlayer and @rogerwang - does this all means that we can finally upload the latest NWJS to the MAS - or is still a special build needed? |
This comment has been minimized.
This comment has been minimized.
|
@gpetrov nope, i have not succeed with MAS distribution so far. I also tried to build nwjs from the sources, but alas, failed to do so. |
This comment has been minimized.
This comment has been minimized.
|
@Arti3DPlayer Have you successfully uploaded your app to MAS? |
This comment has been minimized.
This comment has been minimized.
denigada
commented
May 31, 2018
|
@tankakatan I have tried everything and getting this problem when trying to sign my app:
Have you found a solution to sign the app? I can't even sign the app for outside MAS use. I sign it with Developer ID and it gives unidentified developer warning, I sign with 3rd Party Mac Developer certificate and I get the above warning and the app crashes on launch. |
This comment has been minimized.
This comment has been minimized.
Arti3DPlayer
commented
May 31, 2018
•
|
Yes, I'm not able to upload to MAS too, but sign app works fine even with autoupdates, so I don't require mas for now @denigada try to use https://itunes.apple.com/us/app/rb-app-checker-lite/id519421117?mt=12 to identify what problems do you have. You can open and compare some popular apps and yours. I did this with "docker" app to make sure that I have all the same certificates |
This comment has been minimized.
This comment has been minimized.
|
@denigada @Arti3DPlayer i have built nwjs from the sources to find out the details of the sandboxed app crash and discovered that the reason of the problem is in the chromium itself. Here's the the google groups discussion where i have described it. Unfortunately i haven't got any feedback yet. Probably we should communicate with electron devs to ask them to share their experience. |
tankakatan commentedDec 16, 2017
Hello!
Thank you very much for nw.js!
Me and my colleagues are currently trying to prepare our nwjs app for Mac App Store distribution. But there is a lack of information on how to do it properly.
We use NWJS 0.27.1 on Mac OS 10.13.2. The documentation suggests to use MAS helper script, but it seems to be designed for nwjs 0.19.5, whereas our project uses latest nwjs features such as importNWBin.
Still, we've tried to sign our app with that script with entitlements relevant to our app features. Unfortunately the application signed with
build_mas.pysilently crashes upon start regardless of signing identity set in the configuration file. Here is a crash log that was captured via OS X Console app:app-signed-via-build_mas-crash-log.txt
We have tested
build_mas.pywith these kinds of identity:All the necessary certificates and provision profiles were properly installed on the system that has been used for a code signing.
We have also tried signing our product with the following self-made script:
The instructions listed above work correctly and the codesign validation shows
valid on disk / satisfies its Designated Requirementstatus for every resource it is applied to (exceptnwjs Framework.frameworkthat will be mentioned further). However the application signed with this script crashes in the same way as described earlier. This time the crash log differs from the one attached above, but it also has a lot in common:app-signed-for-development-crash-log.txt
It is also worth to note that both of the above scripts (
build_mas.pyand the one we created ourselves) have displayed a following error after the attempt to signnwjs Framework.frameworkI suppose that the reason of this error is that the
nwjs Framework.frameworkitself consists of a large number of resources each of which should be signed on it's own as described in the apple documentation https://developer.apple.com/library/content/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html.Additionally we have tried to manually sync our app's
bundle identifieranddisplay namewithPlistBuddyutility but it doesn't seem to solve our problem as well.Is there a way to make it work? We would really appreciate if someone shared some experience or advice on how to do MAS code signing properly. We will be happy for any help. Thanks in advance!