nw.js
nw.js copied to clipboard
Can't run the app on the latest version
NWJS Version : 0.49.1 Operating System : Mac OS Catalina
Expected behavior
App should run
Actual behavior
I get this in console:
[44895:775:1023/200751.830515:ERROR:device_event_log_impl.cc(208)] [20:07:51.830] FIDO: touch_id_context.mm:125 Touch ID authenticator unavailable because keychain-access-group entitlement is missing or incorrect
How to reproduce
<!-
- Follow this official tutorial
- Run
nwjs.app/Contents/MacOS/nwjs .
- I got this in response:
[44895:775:1023/200751.830515:ERROR:device_event_log_impl.cc(208)] [20:07:51.830] FIDO: touch_id_context.mm:125 Touch ID authenticator unavailable because keychain-access-group entitlement is missing or incorrect
->
the error message is irrelevant. Could you provide a sample so I can reproduce?
the error message is irrelevant. Could you provide a sample so I can reproduce?
I kinda expected that the error message would be irrelevant. The sample can be found in the tutorial I mentioned, I have the exact same code as there.
The sample in the tutorial works for me.
close until more information is available.
@rogerwang Got same issue in the project. Please reopen.
[5060:775:1107/184940.492307:ERROR:device_event_log_impl.cc(208)] [18:49:40.492] FIDO: touch_id_context.mm:125 Touch ID authenticator unavailable because keychain-access-group entitlement is missing or incorrect
My client can provide access to the repository on gitlab. Please respond.
I have dug deeper, and I've read documentation, and I understand that there is an issue with signing an app before running it. Apple prevents unsigned applications to execute. I found this page: https://developer.apple.com/documentation/bundleresources/entitlements/keychain-access-groups this page in chromium source code: https://chromium.googlesource.com/chromium/src/+/master/device/fido/mac/touch_id_context.mm and this page in docs: http://docs.nwjs.io/en/latest/For%20Users/Advanced/Support%20for%20Mac%20App%20Store/
There is python involved. I will read the docs tomorrow and try to sign an app. I have apple developer account provided by client.
How can we add you to gitlab account to try it out? Can you please run project inside mac osx catalina docker or other VM?
PS I still do not understand why app would require access to Touch ID authenticator, but I see that I need to add entitlement for it to run the client's app.
Thank you for fast response, have a great weekend.
found an article about entitlements - https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AboutEntitlements.html
Looks like I need apple developer account to just use app locally, that is a bummer. Lost a client and a bunch of time. frustrating experience. No clear guide on how to sign an app step by step on Mac. Is there a way to use my client's developer account to sign an app?
You might be able to disable a bunch of security and run it without one still. If you ever expect to do it again besides the current project you are on, I'd suggest just getting your own account. You will be able to understand what needs to be created and setup with your other clients accounts.
Developing for apple products has always been a frustrating experience for me. Documentation behind a sign-in wall, older documentation removed, private bug tracker, functionality constantly gets removed in the name of security. Old OS versions stop getting supported by apple way faster than users upgrading or getting new devices.
There is a issue someone wrote that contains a script to do entitlements for nwjs. I've never used it personally as the situtation I use nwjs is more custom and specific. I can edit this comment with links if I find it.
Edit: I think it was this one: https://github.com/nwjs/nw.js/issues/7117
@bluthen thank you!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Can you please help me with steps of notarizing nwjs application i am using below command to create a build nwbuild -p linux64,osx64 -v 0.58.0 --flavor normal -o output/
I am following this link https://www.construct.net/en/tutorials/sign-notarize-nwjs-export-mac-2735
But i am not able to find the latest version of mas folder which contains build_mas.py and buildmas.sh
And let mw know if there are some straightforward way of signing latest nwjs application and notarize it