Intel® Collaboration Suite for WebRTC
Community support and discussions on the Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC).

iOS Application [RTCPeerConnectionFactory sharedInstance] Crash

krishna__venkata
Beginner
1,643 Views

Hello Team,

While doing  streaming implementation functionality, we got unrecognised selector issue form ICS framework.

We did same as per the conference sample application. While publishing the local stream with conference client object, at creation of ICSLocalStream object its getting crashed with  RTCPeerConnectionFactory shared instance.

Here is the console logs :

2019-01-02 17:20:28.423179+0530 VideoConference[54377:6962689] -[NSError init] called; this results in an invalid NSError instance. It will raise an exception in a future release. Please call errorWithDomain:code:userInfo: or initWithDomain:code:userInfo:. This message shown only once.

2019-01-02 17:20:29.864429+0530 VideoConference[54377:6962689] +[RTCPeerConnectionFactory sharedInstance]: unrecognized selector sent to class 0x10116a590

2019-01-02 17:20:29.871053+0530 VideoConference[54377:6962689] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[RTCPeerConnectionFactory sharedInstance]: unrecognized selector sent to class 0x10116a590'

*** First throw call stack:

(0x1c2443ea0 0x1c1615a40 0x1c2361dac 0x1c24497b8 0x1c244b45c 0x100552498 0x1004935dc 0x10049212c 0x118063824 0x118064dc8 0x118067c90 0x1180761dc 0x118076bc8 0x1c206017c 0x1c2062cec)

frame type: 3

libc++abi.dylib: terminating with uncaught exception of type NSException

 

As we observe WebRTC framework does not contains any SharedInstance for RTCPeerConnectionFactory. In the ICS Framework only created one category for it. Only the sample conference application is running nothing more than it.

Please help us to resolve the crash.

0 Kudos
7 Replies
krishna__venkata
Beginner
1,643 Views

Hello Team,

 

It's resolved, for ICS framework we need to add "-all_load" at Build settings-->Other linker flags .

 

Thanks

0 Kudos
develop__full
Beginner
1,643 Views

Hello, Team.

When I build sample ios project in ICS SDK, I get below error in this part.

    NSError *err=[[NSError alloc]init];

    _localStream=[[OWTLocalStream alloc] initWithConstratins:constraints error:&err];

 

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[RTCPeerConnectionFactory sharedInstance]: unrecognized selector sent to class 0x102691d38'

*** First throw call stack:

 

How Can I resolve this error?

 

krishina, you said you have fixed with "-all_load". Let me know clearly please.

0 Kudos
develop__full
Beginner
1,643 Views

krishna, where did you add "-all_load" ? I have this bug when I try to get OWTLocalStream instance. Please let me know how to fix this bug?

0 Kudos
Jianjun_Z_Intel
Employee
1,643 Views

Hi,

[RTCPeerConnectionFactory sharedInstance] is defined in OWT category, so you cannot find it in WebRTC framework. Please link OWT/ICS framework.

0 Kudos
leo_a_
Beginner
1,599 Views

Hi ,

  I have same issue when I using ios p2p demo on 4.3.1, app crash on [OWTLocalStream alloc] initWithConstratins:constraints.

 

   Please help me

0 Kudos
ashine
Beginner
1,643 Views

hello ,team

when i added other linker flag "-all_load" , i get error " ld: 5378 duplicate symbols for architecture arm64" , the error is above with some part of it.

 

duplicate symbol '_SSL_SRP_CTX_free' in:

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(tls_srp.o)

    ../CubeEngine/CubeEngine/WebRTC/libsioclient_tls_no_verification.a(tls_srp.o)

duplicate symbol '_SSL_CTX_set_srp_password' in:

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(tls_srp.o)

    ../CubeEngine/CubeEngine/WebRTC/libsioclient_tls_no_verification.a(tls_srp.o)

duplicate symbol '_SSL_get_srp_N' in:

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(tls_srp.o)

    ../CubeEngine/CubeEngine/WebRTC/libsioclient_tls_no_verification.a(tls_srp.o)

duplicate symbol 'owt::base::CameraVideoCapturer::~CameraVideoCapturer()' in:

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(cameravideocapturer.o)

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(CameraVideoCapturer.o)

duplicate symbol 'owt::base::CameraVideoCapturer::~CameraVideoCapturer()' in:

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(cameravideocapturer.o)

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(CameraVideoCapturer.o)

duplicate symbol 'owt::base::CameraVideoCapturer::~CameraVideoCapturer()' in:

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(cameravideocapturer.o)

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(CameraVideoCapturer.o)

duplicate symbol 'vtable for owt::base::CameraVideoCapturer' in:

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(cameravideocapturer.o)

    ../CubeEngine/CubeEngine/WebRTC/OWT.framework/OWT(CameraVideoCapturer.o)

 

it's seem like  some *.o file contain same symbol both in owt.framework and ibsioclient.a 

 

please let me know how to deal with it.

 thx all of you !

0 Kudos
Naveen5
Beginner
1,369 Views

Were you able to fix the "duplicate symbols for architecture arm64"  error? I'm running into the same issue when I add `all_load` flag to the linker/

0 Kudos
Reply