stasel / WebRTC

Unofficial distribution of up to date WebRTC framework binaries for iOS and macOS
Other
359 stars 76 forks source link

M95 Mac Catalyst support (M1 silicone) #24

Open SeriousMax opened 2 years ago

SeriousMax commented 2 years ago

Hi, @stasel

I'm trying to run my app using M95 release on my Macbook with M1 CPU and I always get this:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$ _RTCMTLVideoView"

Or this if I'm using rosetta:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_RTCEAGLVideoView"

I'm using this code to create renderer:

#if arch(arm64)
     let renderer: RTCMTLVideoView = RTCMTLVideoView()
     renderer.videoContentMode = contentMode
#else
     let renderer: RTCEAGLVideoView = RTCEAGLVideoView()
#endif

My app works fine on iOS, Simulators and on my Mac if app runs as "Designed for iPad", but I have no luck running it with Mac Catalyst. What am I doing wrong? Or it's just M1 issue?

stasel commented 2 years ago

Hi @SeriousMax Sorry to hear that. I hope that I didn't mess up with M95 release. Did it work on M94?

Is only Mac catalyst not working?

SeriousMax commented 2 years ago

All works just fine except Mac Catalyst on M95. Actually I didn't try older versions and sadly I don't have x86_64 Mac. Can you please tell with variables must be set to compile WebRTC with Catalyst support?

stasel commented 2 years ago

After testing it on my machine (x86_x64 mac) I get the same issue with RTCMTLVideoView. Removing that class fixed my build but WebRTC connection still failed on my mac.

Perhaps Catalyst builds aren't read yet to be used and I released them too early. You can find the parameters I used to compile catalyst build in my build script

Let me know if you have any progress with caralyst builds