nodejs-mobile / nodejs-mobile

Full-fledged Node.js on Android and iOS
https://nodejs-mobile.github.io
Other
458 stars 44 forks source link

`No code signature found` when using .xcframework v18 #56

Open siepra opened 6 months ago

siepra commented 6 months ago

Version

18.17.1

Platform

Darwin MacBook-Pro-Apple.local 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun 8 22:22:22 PDT 2023; root:xnu-8796.121.3~7/RELEASE_X86_64 x86_64

Subsystem

No response

What steps will reproduce the bug?

Embed .xcframework into iOS application using Xcode, then try to run it on a physical device

How often does it reproduce? Is there a required condition?

The app builds successfully but then fails to run on physical device

What is the expected behavior? Why is that the expected behavior?

NodeMobile binary will be available from within the iOS app

What do you see instead?

No code signature found

Additional information

I have .xcframework included in my main target's General settings and set to Embed & Sign.

I've been also trying to manually sign NodeMobile binaries within .framework directories using codesign --force --sign and my signing identity.

holmesworcester commented 6 months ago

@staltz have you seen this issue in your own use of nodejs-mobile? are you able to reproduce it?

staltz commented 6 months ago

I'm not sure this is a general nodejs-mobile issue. I have integrated the latest 18.x in two different projects, and running from two different Macs I was able to compile and run on an iPhone device.

Might be just Xcode hurdles?

It is possible that my setup is biased though, because I'm always signing with the same keys (same key that signed NodeMobile is the same that signs each of those two projects).

holmesworcester commented 6 months ago

Might be just Xcode hurdles?

It might be, yes. Though we're out of ideas, and we didn't have this problem in the previous version.

It is possible that my setup is biased though, because I'm always signing with the same keys (same key that signed NodeMobile is the same that signs each of those two projects).

Since your setup is unique to your case as the publisher of NodeMobile, perhaps it would be worth it for you to try your same build process but with different keys?

If it works, we would know that the problem is on our end, and you would have some confidence that any new user of nodejs-mobile wouldn't run into this problem, and that the uniqueness of your setup is not masking a problem.

@siepra am I expressing this correctly? is there anything else you would add?

staltz commented 6 months ago

Since your setup is unique to your case as the publisher of NodeMobile, perhaps it would be worth it for you to try your same build process but with different keys?

I asked a friend to try a build on their computer, with their signing keys, and I'll let you know if they can successfully do it or not.