Skip to content
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

MacOS, The developer cannot be verified #124

Open
Alex2782 opened this issue Oct 25, 2023 · 10 comments
Open

MacOS, The developer cannot be verified #124

Alex2782 opened this issue Oct 25, 2023 · 10 comments
Labels
build system An issue that affects the build system. thirdparty This issue or pull request relates to a third party library

Comments

@Alex2782
Copy link

Godot version

v4.1.2.stable.official [399c9dc39]

Plugin version

v1.0.3

System information

macOS 13.6.0 - Vulkan (Forward+) - integrated Apple M1 - Apple M1 (8 Threads)

Issue description

System message in German language. The developer cannot be verified
Godot tries to load the lib several times, cancel not possible, MessageBox comes again and again. The application must be terminated in the Task Manager.

https://github.com/godotengine/webrtc-native/releases
godot-extension-4.1-webrtc.zip

image

Steps to reproduce

Minimal reproduction project

No response

@aidan-j-rhoden
Copy link

aidan-j-rhoden commented Oct 26, 2023

Open Settings, then Privacy & Security. Click the button for that app that says, "Open Anyway." This button will be visible for about an hour after you attempted to open it.
support.apple.com/guide/mac-help/open-a-macapp-from-an-unidentified-developer

Please note that overriding your mac's security is not recommended, unless you know the exact contents of the application in question.

@Alex2782
Copy link
Author

Probably it is better to compile the webrtc-native sources yourself and run code-signing-and-notarization
Otherwise all users would have to do that (customize Privacy & Security)? That's out of the question, I think.

@aidan-j-rhoden
Copy link

Yes, that would definitely be better practice, but this is a quick workaround until you can get a Apple Developer ID, which, I assume, is a hassle.
With any exported projects from Godot to Mac, your end users would experience the same issue, unless you were able to code-sign and notarize the builds, which still requires an Apple Dev ID.
This might be helpful to you: developer.apple.com/help/account/create-certificates/create-developer-id-certificates/

@Faless Faless added build system An issue that affects the build system. thirdparty This issue or pull request relates to a third party library labels Nov 16, 2023
@Ughuuu
Copy link
Contributor

Ughuuu commented Mar 13, 2024

So I was wondering what's the status on this? @Faless do you currently have a mac developer account?

@Ughuuu
Copy link
Contributor

Ughuuu commented Mar 13, 2024

Or whoever is in charge of this addon I mean.

@Faless
Copy link
Collaborator

Faless commented Mar 14, 2024

@Faless do you currently have a mac developer account?

I don't have a mac developer account so I can't sign it. We might want to sign it with the same identity that signs Godot, but I'm not sure (CC @akien-mga @hpvb )

@Ughuuu
Copy link
Contributor

Ughuuu commented Mar 14, 2024

Also i try to build on ios and its failing at signing.(using Xcode localy)
It appears xcode is generating a plist file that is wrong or something.

@Ughuuu
Copy link
Contributor

Ughuuu commented Mar 14, 2024

The exact error I am getting when trying to build for iOS is:

This bundle is invalid. The bundle at path Payload/polyglot.app/Frameworks/libwebrtc_native.ios.template_debug.arm64.framework has an invalid CFBundleIdentifier 'com.gdextension.framework.libwebrtc_native.ios.template_debug.arm64' There are invalid characters(characters that are not dots, hyphen and alphanumerics) that have been replaced with their code point 'com.gdextension.framework.libwebrtc\\u005fnative.ios.template\\u005fdebug.arm64' CFBundleIdentifier must be present, must contain only alphanumerics, dots, hyphens and must not end with a dot

and

Invalid Bundle. The bundle polyglot.app/Frameworks/libwebrtc_native.ios.template_debug.arm64.framework does not support the minimum OS Version specified in the Info.plist.

It only happens if I export the build to app store, if I run locally it runs fine.

@Ughuuu
Copy link
Contributor

Ughuuu commented Mar 14, 2024

Aparently solution is to have a .plist file near the .dylib and have them instead of .dylib to be a .framework that contains a .plist and a .dylib. (for the iOS problem).
For the mac problem, we could use automatic signing action, eg similar to this I wrote: https://github.com/Ughuuu/godot-cpp-template/blob/add-more-stuff/options-to-build/.github/actions/sign/action.yml
If it gets approved into godot-cpp-template we could reuse it from there.

@Ughuuu
Copy link
Contributor

Ughuuu commented Mar 14, 2024

I would want to change this but the build system is so overly complicated, it's not just calling SConstruct but has a lot of scripts here and there. If you need an example on how the Info.plist file should look like, there is one either in godot-cpp-template or in godot-jolt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build system An issue that affects the build system. thirdparty This issue or pull request relates to a third party library
Projects
None yet
Development

No branches or pull requests

4 participants