-
Notifications
You must be signed in to change notification settings - Fork 15
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
Permission dialog for contacts access not shown #32
Comments
You can print the entitlements of a packaged app with |
Thank you so much for getting back to me, i have been badly jammed so nice to try something new on route to a resolution. All i get is :
So it looks to not be an issue with my use of the module, rather, in my case electron-builder, which is doing the packaging ...perhaps .... Following the docs for Mac App Store (MAS) build generation > https://www.electron.build/configuration/mas < i am confident i am pointing to the entitlements file correctly in my package.json. For completeness i was also looking into electron-builder's default plist file (the one used in case none is specified) > https://github.com/electron/osx-sign/blob/main/entitlements/default.mas.plist < and none of the keys match any i am using (specifying in "my" plist file). This leaves me feeling confident that "my" plist file is getting used, however , very oddly, it is missing
Not sure if @KishanBagaria , in your experience another packager is preferred by the electron community? I am an electron newbee. |
We use electron-builder too. Try setting |
@KishanBagaria thank you so much for your suggestion. So quick update , i have amended the package.json as per your suggestions, and removed the NSContactsUsageDescription key from the entitlements file. Now running : gives me something that looks much more healthy
However the app cannot be launched, i get a pop up (both for the dmg and app versions saying "The application “WowFresh” can’t be opened.". Looking in the console i see a new error :
So i think i now just need to use a non production provisioning profile and i might be in the clear, i will report back when i've tried that. Thank you again. |
I'm having this issue, but just when running from terminal. Any ideas? @KishanBagaria @ElliotCambo ? |
Issue :
When running the electron app, I am not able to get the contacts permission dialog to be presented (neither when i run the script from the terminal, nor the compiled electron app), despite supplying the correct entitlement(s) in the plist file.
When running the electron app from the command line , the below code is evaluated and when i check the status, i am returned
"Authorised"
and as such i can successfully retrieve my macs Addressbook contacts. In this instance I understand why the pop-up is not displayed, as because I have run the electron app from Terminal, I am implicitly given access to contacts without needing to give consent explicitly.However when I compile the Electron app, and run, the permission status is immediately returned as being
"Denied"
, this happens for both the .app and .dmg versions.Things i have tried :
sudo tccutil reset All com.wowfresh.freshmeup-desktop
I am running
electron version : v1.4.13
npm version : v6.14.15
node version : v14.18.1
OS version : Monterey 12.3.1
packager : electron-builder version : 23.0.3
My code and config
My entitlements plist file. Note : i have the same for inherited entitlements.
Also, if you're thinking , why has he included
com.apple.security.personal-information.addressbook
in the entitlements file, i have documented my rational in point 3 at the end :).entitlements.plist
Relevant pieces of package.json
Getting contacts code
My observations :
When i launch the app (and receive the
Denied
status immediately) i notice that system preferences is not launched (as the documents suggest it should be) and further more ...Having navigated to system preferences i do not see my app in the section as shown below.
Unrelated to points 1 and 2 , when i pull up the console logs for the compiled electron app, i see ERROR messages like the following in the list (in order of when i see them) coming from the tccd process , Note : TCC (Transparency, Consent, and Control) is a mechanism in macOS to limit and control application access to certain features
service: kTCCServiceAddressBook requires entitlement com.apple.security.personal-information.addressbook but it is missing for requesting
and
service: kTCCServiceAppleEvents requires entitlement com.apple.security.automation.apple-events but it is missing for accessing
and
attempted to call TCCAccessRequest for kTCCServiceAccessibility without the recommended com.apple.private.tcc.manager.check-by-audit-token entitlement
These relate to what i am assuming are underlying permissions for accessing contacts, the odd thing is that despite adding them to the entitlements file, the errors persist.
At this point i would have thought , ok i have a signing problem, however when i test adding the camera and microphone permissions to the entitlements file, then requesting access to them in my code using the electron request method https://www.electronjs.org/docs/latest/api/system-preferences#systempreferencesaskformediaaccessmediatype-macos , i get the "Application Name wants access to your camera and microphone" dialog as expected.
Thank you so much for any help / guidance / alternative things i could try.
The text was updated successfully, but these errors were encountered: