Comments (33)
Temporary solution(use at your own risk):
- make work dir
mkdir build_rtc
cd build_rtc
- Install the Chromium depot tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=`pwd`/depot_tools:"$PATH"
- Download webrtc sources
fetch --nohooks webrtc_ios
ls
depot_tools src
cd src
- Check and select branches(optional. May skip this step, if you use master branch)
4.1 Check branches
git branch -a
...
remotes/branch-heads/...
remotes/branch-heads/m73
remotes/branch-heads/m74
remotes/branch-heads/m75
remotes/branch-heads/m76
remotes/branch-heads/m77
remotes/branch-heads/m78
remotes/branch-heads/m79
remotes/branch-heads/phoglund-test
remotes/origin/HEAD -> origin/master
remotes/origin/infra/config
remotes/origin/lkgr
remotes/origin/master
4.2 checkout
git checkout remotes/branch-heads/m79
- sync
gclient sync
- create new local branch
git new-branch local_dev_fix_webrtc
- Find and replace "RTCCVPixelBuffer" with some prefix in sources
grep -rl --include=\*.{gn,h,m,mm} "RTCCVPixelBuffer" . | xargs sed -i .bak -e 's/RTCCVPixelBuffer/APPLE_MUST_FIX_IT_RTCCVPixelBuffer/g'
- Rename some files
mv ./sdk/objc/Framework/Headers/WebRTC/RTCCVPixelBuffer.h ./sdk/objc/Framework/Headers/WebRTC/APPLE_MUST_FIX_IT_RTCCVPixelBuffer.h
mv ./sdk/objc/components/video_frame_buffer/RTCCVPixelBuffer.h ./sdk/objc/components/video_frame_buffer/APPLE_MUST_FIX_IT_RTCCVPixelBuffer.h
mv ./sdk/objc/components/video_frame_buffer/RTCCVPixelBuffer.mm ./sdk/objc/components/video_frame_buffer/APPLE_MUST_FIX_IT_RTCCVPixelBuffer.mm
- Generating project files(arm,arm64,x64 for simulator)
gn gen out/ios_arm --args='target_os="ios" target_cpu="arm" is_debug=false ios_enable_code_signing=false'
gn gen out/ios_arm64 --args='target_os="ios" target_cpu="arm64" is_debug=false ios_enable_code_signing=false'
gn gen out/ios_sim --args='target_os="ios" target_cpu="x64" is_debug=false ios_enable_code_signing=false'
or debug version(is_debug=true)
gn gen out/ios_arm --args='target_os="ios" target_cpu="arm" is_debug=true ios_enable_code_signing=false'
gn gen out/ios_arm64 --args='target_os="ios" target_cpu="arm64" is_debug=true ios_enable_code_signing=false'
gn gen out/ios_sim --args='target_os="ios" target_cpu="x64" is_debug=true ios_enable_code_signing=false'
- Compiling with ninja
ninja -C out/ios_arm framework_objc
ninja -C out/ios_arm64 framework_objc
ninja -C out/ios_sim framework_objc
- Join all in one "fat" framework
mkdir out/ios
cp -R out/ios_arm64/WebRTC.framework/ out/ios/WebRTC.framework
lipo -create out/ios_arm/WebRTC.framework/WebRTC out/ios_arm64/WebRTC.framework/WebRTC out/ios_sim/WebRTC.framework/WebRTC -output out/ios/WebRTC.framework/WebRTC
- Done! resault: out/ios/WebRTC.framework
You may create private cocoapod repo and use as pod 'GoogleWebRTC', :git => 'your github repo'
Ref:
https://webrtc.googlesource.com/src/+/refs/heads/master/docs/native-code/ios/index.md
from webrtc-ios.
so, it fixed in 12.3 beta.
I temporary build it from source with rename. Waiting for release ios 12.3.
from webrtc-ios.
apple not solve the problem in release IOS 12.3
from webrtc-ios.
@iStorry copy sources with this https://webrtc.org/native-code/ios/ instructions and before you compile that, you have to rename the conflicting functions
from webrtc-ios.
Good news. Xcode 11.4 beta 3 has no problem. But! I hope in the release version, this will completely be fixed(i know issue: beta - no problem, release - problem has present).
from webrtc-ios.
Xcode 11.4 IOS 13.x has no this issue!! Congratulations!!
Xcode 11.4 IOS 12.x getting this issue((
from webrtc-ios.
https://bugs.chromium.org/p/webrtc/issues/detail?id=10560
from webrtc-ios.
Oh wow, looks like Google WebRTC framework conflicts with some Apple's Safari WebRTC classes.
Thanks for the report. Lets hope they will fix it soon :)
from webrtc-ios.
Seeing this too but I cannot see any negative impact at runtime
from webrtc-ios.
Cool! Thanks again for the heads up!
from webrtc-ios.
@SimonTheCat can you please explain how did you solve this issue. Thank you
from webrtc-ios.
@SimonTheCat did you send an email about this bug?
from webrtc-ios.
How should this problem be solved?
from webrtc-ios.
How should this problem be solved? @SimonTheCat
from webrtc-ios.
@jijile
Check this out
@iStorry copy sources with this https://webrtc.org/native-code/ios/ instructions and before you compile that, you have to rename the conflicting functions
from webrtc-ios.
Unfortunately this still exists in iOS 13 GM seed
However only 1 class conflicts:
objc[1577]: Class RTCCVPixelBuffer is implemented in both /System/Library/PrivateFrameworks/WebCore.framework/Frameworks/libwebrtc.dylib (0x1d9081410) and /private/var/containers/Bundle/Application/C5EB8E01-9484-4081-AE20-CCDBC0AF753F/WebRTC-Demo.app/Frameworks/WebRTC.framework/WebRTC (0x1050575a0). One of the two will be used. Which one is undefined.
from webrtc-ios.
Apple doesn't want to fix this issue. There's no answer to the created ticket from Apple's bugtracker.
from webrtc-ios.
is conflict is bad for our app ? @SimonTheCat @stasel
from webrtc-ios.
@stasel i copy your message for ticket webrtc's and Apple's bugtracker
from webrtc-ios.
you just need to replace two/three class names i don't think it's bad for the app
from webrtc-ios.
so bad, i got error in ios 13.3, iphone XR
from webrtc-ios.
it's take my app CRASHHHHHHHHHHH
@iStorry copy sources with this https://webrtc.org/native-code/ios/ instructions and before you compile that, you have to rename the conflicting functions
Hi @SimonTheCat , it saw this website but it's really hard to change class name, can you help by provide step by step, thanks u so much
from webrtc-ios.
I'm building a WebRTC app right now and i'm getting this warning. It would be really bad if this causes random crashes :/
from webrtc-ios.
GoogleWebRTC prebuild binary(use at your own risk)
Remember! RTCCVPixelBuffer renamed to APPLE_MUST_FIX_IT_RTCCVPixelBuffer in this build.
GoogleWebRTC_master_release20200129.zip
from webrtc-ios.
i love u @SimonTheCat
from webrtc-ios.
Good news. Xcode 11.4 beta 3 has no problem. But! I hope in the release version, this will completely be fixed(i know issue: beta - no problem, release - problem has present).
I'm still getting this in Xcode 11.4 beta 3 😕
from webrtc-ios.
@Isuru-Nanayakkara maybe clean install Xcode 11.4?
from webrtc-ios.
i recommend build library from source
from webrtc-ios.
@Isuru-Nanayakkara maybe clean install Xcode 11.4?
I was previously using Xcode 11.4 beta 3. I just installed the stable Xcode 11.4 and ran it in my iPhone running the latest iOS version 13.4. Then I didn't get this error. However I ran the same project on my iPad which had the old iOS version and I still got the error. It disappeared after updating it to the latest iOS version as well.
from webrtc-ios.
Hai I'm new to WebRTC, and I want to know if there are any options to display the connected devices from singling server to our project so that we can send offers to particular device or selected device.?
from webrtc-ios.
@stasel have you tetsed GoogleWebRTC 1.1.31999?
from webrtc-ios.
@stasel have you tetsed GoogleWebRTC 1.1.31999?
Yes, I tested 1.1.31999 with iOS 14 and iPad OS 14 and it works fine except one very strange issue on iOS 14 when tapping on "video" before WebRTC connection
from webrtc-ios.
Looks like the issue has been fixed on WebRTC side as well. Closing the issue.
from webrtc-ios.
Related Issues (20)
- video Quality issue HOT 3
- By using "GoogleWebRTC", How can we avoid NOISE SUPRESSION HOT 2
- Q: is `localDataChannel` ever used? HOT 2
- Can not connect with Firestore HOT 1
- Signaling server via firebase firestore
- Signling Status Not Connected. HOT 1
- Browser can't see my video/audio but I can
- Where can I apply metal shaders?
- Unknown crash only when kRTCMediaConstraintsOfferToReceiveAudio set to true
- Remote SDP never received. HOT 2
- Remote SDP never received. HOT 1
- Aborting after deadlock HOT 3
- can I get transcribe audio from video call from caller HOT 2
- CVPixelBuffer to WebSocket HOT 2
- Remote video / audio not working
- Video streaming does not work on iphone 15 pro max after 10 second
- Capture only audio
- not working with http server url HOT 1
- Need to establish server in java. Please provide the setup. HOT 3
- How to Feed AVFoundation CaptureSession into WebRTC's RTCVideoCapturer?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webrtc-ios.