WebRTC icon indicating copy to clipboard operation
WebRTC copied to clipboard

build.sh -> still Undefined symbol: _OBJC_CLASS_$_RTCEAGLVideoView

Open rsemihkoca opened this issue 1 year ago • 1 comments

i have build build.sh on my mac m2 air and succesfully created WebRTC.xcframework.zip

inside that zip i used ios-arm64/WebRTC.framework since i wanted to use directly uploading application into my own device.

after that i embeded framework and give framework search path.

it can be imported on a freshly created new app. builds succesfully app and it can run hello world.

But when i import it in the same way and try to use it it gives me

Errors: Undefined symbol: OBJC_CLASS$_RTCEAGLVideoView Linker command failed with exit code 1 (use -v to see invocation)

Warnings: Could not find or use auto-linked framework 'AudioUnit': framework 'AudioUnit' not found Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found Could not parse or use implicit file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/SwiftUICore.framework/SwiftUICore.tbd': cannot link directly with 'SwiftUICore' because product being built is not an allowed client of it

i have built with those parameters IOS=true BUILD_VP9=true sh build.sh @stasel do you have any idea

rsemihkoca avatar Jan 10 '25 14:01 rsemihkoca

Hi @rsemihkoca, we had this problem as well back in September, 2023. At some point RTCEAGLVideoView didn't work for us anymore when compiled against the iOS Simulator. Instead, we're using RTCMTLVideoView now for both the Simulator and the actual devices (iPhone, iPad). This works fine and is hardware-accelerated with Apple's Metal too. Hope this helps.

My assumption is that the developers did remove OpenGL bindings for iOS such that Metal remains as the only option.

markusboesch avatar Jan 15 '25 11:01 markusboesch