Incoming video call issue in iOS 13 using Quickblox and CallKit - ios

Feature: I have implemented QuickBlox video calling in application.
Problem: Recipient doesn't receive incoming call notification if application is in background.
Result: Video calling is working fine up to iOS 12 but only problem with iOS 13.
I have checked many links to solve the problem:
https://docs.quickblox.com/docs/ios-quick-start?_ga=2.195456812.1462473955.1597308006-918905754.1585299886
https://docs.quickblox.com/docs/ios-video-calling-advanced
https://github.com/QuickBlox/quickblox-ios-sdk/tree/master/sample-videochat-webrtc-swift
https://github.com/twilio/voice-quickstart-ios/issues/275
Also, I have posted issues on QuickBlox's GitHub repo:
https://github.com/QuickBlox/quickblox-ios-sdk/issues/1199
https://github.com/QuickBlox/q-municate-ios/issues/345
Crashlog of the issue:
"didReceiveIncomingPushWith called"
"[HomeVC] timeIntervalSinceStartCall > QBRTCConfig.answerTimeInterval"
2020-06-23 22:51:12.114253+0530 MyApp[2555:1050373] Apps receving VoIP pushes must post an incoming call (via CallKit or IncomingCallNotifications) in the same run loop as pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay.
2020-06-23 22:51:12.114529+0530 MyApp[2555:1050373] *** Assertion failure in -[PKPushRegistry _terminateAppIfThereAreUnhandledVoIPPushes], /BuildRoot/Library/Caches/com.apple.xbs/Sources/PushKit/PushKit-36/PKPushRegistry.m:343
2020-06-23 22:51:12.127602+0530 MyApp[2555:1050373] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback.'
*** First throw call stack:
(0x1b7c3498c 0x1b795d0a4 0x1b7b36d1c 0x1b7f6c8f4 0x1cb735a5c 0x10b82ac04 0x10b839888 0x1cb7349cc 0x10b829828 0x10b82ac04 0x10b838c64 0x1b7bb23c4 0x1b7bad3b8 0x1b7bac8bc 0x1c1a18328 0x1bbc426d4 0x10520ac58 0x1b7a37460)
libc++abi.dylib: terminating with uncaught exception of type NSException
Message from debugger: Terminated due to signal 9

It looks like that app is receiving the voip notification properly, but is not handling it with a CallKit registerCall function, as it is written in docs and in crashlog it must happen immediately on the same run loop, which You can understand as the same thread, so make sure You have it implemented this way.

Related

Sending NS user authentication data with Xcode 8.3.3 and Swift 3 from mobile app to server issue

I'm new to authentication development and am stumped.
When I touch (click on simulator) Sign Up button in the app to submit my user name and password Xcode log shows the following error,
20 Selfie 0x0000000100479707 main + 55
21 libdyld.dylib 0x000000010393d65d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Further more, this appears when I scroll up, and seems the first signs of an issue
2017-07-13 18:27:42.367 Selfie[75333:3951236] *** Terminating app due
to uncaught exception 'NSInvalidArgumentException', reason: '-
[Selfie.ViewController signupBtnTapped:]: unrecognized selector sent
to instance 0x7fc042c11250'
The desired result is for the app to send the built request to my remote server held by AWS. Here's the pre-dated tutorial I'm using:
https://www.raywenderlich.com/85528/user-accounts-ios-ruby-rails-swift
Here is the repo for the app, in the specific view controller it seems the problem is in, and where I'm left off in the tutorials instruction (at the sign up btn):
https://github.com/tristanbnewman/rwenderlich-auth-selfie/blob/master/Selfie/ViewController.swift
I apologize ahead of time for any etiquettes I've missed in this post, if there's anything you all need to help me solving (likely something I've missed providing you) just let me know.
First of all i would suggest you to make breakpoints on each line of the signupBtnTapped function and see what's happening.
The "unrecognized selector sent to instance" is probably related to how you connect your #IBAction with a button event. Have you connected touchUpInside event with your function in the storyboard?
The first exception is a generic exception which doesn't give much information. Making breakpoints should help you with this.

Crash when loading image Firebase

When loading the main view controller of my app it loads multiple images. Using the sd_setImage(with: reference) method. It has worked forever and now I am suddenly getting crashes with the exception
-[SDImageCache storeImage:forKey:]: unrecognized selector sent to instance 0x600000c60380
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SDImageCache storeImage:forKey:]: unrecognized selector sent to instance 0x600000c60380'
The stacktrace isn't showing a line in my code that's causing the problem. Is this an internal Firebase bug? How do I fix it?
Firebase calls continuous asynchronous calls to the observer. You should always check for nil or NSNull before attempting to present data from the database. You may have a higher resolution image that takes longer to load than it does your view to appear.

Terminating app due to uncaught exception 'FirebaseShutdown', reason: 'Firebase error

Terminating app due to uncaught exception 'FirebaseShutdown', reason: 'Firebase error. Please ensure that you spelled the name of your Firebase correctly' in ios.
Can any one help me solve this issue?
Using this demo for real time message:
https://github.com/firebase/ios-swift-chat-example
Is there any demo for real time chat in iOS?
The error you're getting is actually from calling [Firebase initWithUrl:] with a URL that isn't backed by a valid Firebase.
This exception is thrown so that you as a developer know that the Firebase you're connecting to is invalid.
If you put in the right Firebase URL, you shouldn't be getting this error.
Could you explain the situation in which you might need to connect to a Firebase that may not be valid?
Note:- You will need to check your base URL for the Firebase, Because you have try to access data from the wrong URL

iOS 7: UIWebView crashes because of range exception

I'm currently building an App that uses the krpano viewer, which is a Panorama Viewer built with JavaScript. I'm loading this Panorama viewer in a UIWebView with local images that are saved on the iPad.
But after using the Panorama viewer for a while, I get this error and the app crashes:
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[WebCoreSharedBufferData getBytes:range:]: range {0, 4000} exceeds data length 0'
*** First throw call stack:
(0x2e213f53 0x38a226af 0x2e213e95 0x2eb4dc31 0x2e16ca65 0x2ef4ce47 0x2ef4cd21 0x2ef68f03 0x2ef682db 0x2ef68029 0x2ef67e61 0x2ef67dcf 0x2ef6bd39 0x2ef6b813 0x2ef5471f 0x2e29b2ed 0x30635c6d 0x30635117 0x30621069 0x30620bad 0x3061d949 0x3061c051 0x38f0c297 0x38f0c09b 0x38f0cd15 0x38f0cf8d 0x39047dbf 0x39047c84)
libc++abi.dylib: terminating with uncaught exception of type NSException
Does anyone have an idea why this happens? When I load the online page in the UIWebView there is no problem.
Thanks for your help!
This is probably a memory related issue. When a web application allocates too much memory using Javascript, weird things will happen.
Your best bet is to observe memory warning notifications and try to influence the web app from the outside. Of course this depends on the specifics of the web app but you might want to try disabling userInteractionEnabled for a while to let the web view catch up with queued user input actions or, if the memory warning persists, try to reload the web view.
Unfortunately there are no easy solutions here.

Facebook assertion crashes in iOS 3.1 sdk

Facebook new sdk crashes
Assertion failure in -[FBSession urlSchemeSuffix], /Users/clang/tmp/ios-sdk/src/FBSession.m:508
* Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'FBSession: should only be used from a single thread'
Can any one know why this crashes...
It sounds like you're accessing your FBSession instance from more than one thread. Check that you're not calling [FBSession activeSession] or anything similar from a background thread (or that you're always calling it from the same background thread).

Resources