macOS Store Crash: Entitlements as Binary Plist instead of Plist
See original GitHub issueMAS-signed App crashes which results in the apps rejection by Apple.
After a few hours of investigation I figured out that there is an issue with the entitlements of the App. In the Console Application the following message is thrown.
failed to parse entitlements for MyApp[84767]: OSUnserializeXML: syntax error near line 1
I then enabled DEBUG=electron-osx-sign*
which allowed me to see that the entitlements of the app were in binary plist format, not in plist format. The entitlements are provided as a valide plist, but codesign
somehow “converts” it to the binary format.
In fact the current version available in the AppStore has the entitlements provided as plist, not as binary plist.
Any input on this odd behaviour?
Issue Analytics
- State:
- Created 4 years ago
- Reactions:3
- Comments:8 (1 by maintainers)
Top Results From Across the Web
macOS Store Crash: Entitlements as Binary Plist instead of ...
The entitlements are provided as a valide plist, but codesign somehow "converts" it to the binary format. In fact the current version available ......
Read more >Application killed after entitled … | Apple Developer Forums
After signing my player (just the binary) with entitlments and shared libraries without entitlements, player is killed without reason (error code or message)...
Read more >Hardened runtime for macOS - Lazarus wiki
The hardened runtime was introduced by Apple in macOS 10.14 (Mojave) and ... You do this by creating an entitlements plist file like...
Read more >Malformed Info.plist causes macOS crash - Stack Overflow
I just want to stress, in step (3) use "Run Without Building", so the Info.plist does not get overwritten by a new compile....
Read more >Notarizing your macOS application - Unity - Manual
DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" ... These entitlements are the minimum entitlements a macOS application requires to have a Hardened ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I found this because I am also experiencing a similar error related to entitlements parsing:
I was able to find a solution. In case anyone comes across this, I will share what worked for me.
I ran the following scripts on my plist files:
This modified each of my plist files to change whitespace characters. It looks like spaces have been converted to tabs, so perhaps some kind of auto-formatting ran in my editor to reformat the Plist files incorrectly. Running
plutil -convert xml1
on them seems to fix it. Code signing is now passing for me.Example diff:
I’ve identified that when I open the file entitlements.mac.inherit.plist with vscode, and save it (tested on mac), the bug appears.
Solution ? Maybe there is an option in vscode about formatting the file… I don’t know.
Submit an issue to vscode ?