iOS Call Screen Capability - ios

I'm trying to build an App with video calling capabilities like Skype and I'm trying to figure out how to make it ring with the native call screen as Skype, Hangouts and several other big apps do.
Are those APIs public? If so what are they called/where can I find the documentation on them?
Thanks

Yes CallKit allows yoy to use native UI to provide Voip calling for your app. However you need to be aware that connection and calling itself must be implemented on your own.

Related

change calling screen in ios replace with my application screen

I designed an application screen for incoming and outgoing calls, so now the issue is that I want to show my screens on while I get an incoming and outgoing call on the device so how can I do that.is that's possible so tell me how?
This is not possible.
You can not replace core features of iOS with your own app.
As MadProgrammer stated in his comment, CallKit allows you to use iOS call screen in your app. Not the other way around.
CallKit : Display the system-calling UI for your app's VoIP services, and coordinate your calling services with other apps and the system.
If you are using CallKit, its impossible so far to customize it or replace it.
You can do it, if your App has its own feature of Calling, say Many apps has WebRTC solutions or other VoIP Solutions.

Vidyo.io Integration in Swift4

I'm new in IOS. I'm working on a Video Call project in swift. i'm using vidyo.io SDK for video Call and message chat. But I have some questions
If my app is in kill state or my phone is locked. how can I receive call Notification.
Some SDK's have VoIP support for Call notification in locked State. vidyo.io have support for VoIP? If yes how can I implement.
vidyo.io Documentation have some methods for use camera, microphone, Customize UI etc can we implement all these methods in swift?
if any one have good tutorials or helping materials please share.
You can find a Vidyo.io sample app built with Swift here: https://github.com/Vidyo/customview-swift-ios
Vidyo.io is a CPaaS focused on video chat. You can use the service for voice only, but you probably have better options if that is what you want to achieve.

iOS SDK can you mute or cancel incoming calls

I found various threads here about how muting or canceling incoming calls (or messages) with the iOS SDK is not possible, due to the fact that Apple doesn't want an app to access system level settings. Well in fact not possible with the official tools, which means that if you somehow manage to do it, your app will not be accepted in the iTunes store.
Well I have been asked to assess the possibility of such an app that could do just that. Namely my client has seen these two apps
https://itunes.apple.com/us/app/lifesaver-distracted-driving/id874231222?mt=8
https://itunes.apple.com/us/app/at-t-drivemode/id907208943?mt=8
And they are sure that an app, basically exactly like these (based on the functionality) can be made.
So here I am, asking, how did these two apps succeed at the impossible and also how did they manage to get those apps uploaded to the iTunes store, if muting your phone is not an Apple approved option? I am not really asking for source code, although I am certainly not rejecting examples, but moreso I am asking for pointers of what class or book or documentation do I have to look up to figure out if this is possible? Apples CTCall and CT* classes did not seem to help me much.
K
Apple added the CallKit framework in iOS 10 to allow app developers to do this sort of thing, among others. For docs, see:
https://developer.apple.com/reference/callkit
It is now possible to detect and block unwanted phone calls from iOS 10 and above.
See the CallKit framework
The CallKit framework (CallKit.framework) lets VoIP apps integrate
with the iPhone UI and give users a great experience. Use this
framework to let users view and answer incoming VoIP calls on the lock
screen and manage contacts from VoIP calls in the Phone app’s
Favorites and Recents views.
CallKit also introduces app extensions that enable call blocking and
caller identification. You can create an app extension that can
associate a phone number with a name or tell the system when a number
should be blocked.

iPhone app with call features

I'm trying to get into a new project, by creating an iOS application. But before I start I would like to understand some points:
is it possible to let an application make a phone call? So what I mean is, assumed we have a phone number and would like to call it. Would it be possible to use an (my) application to call this number?
is it possible to let an application speak during a phone call? So after the application started the call, would it be possible that some predefined statements are said in the call?
is it possible that this application hears, registers and analyses what the other person on the phone line is saying? (Leaving apart the privacy issue, assuming that the other person is willing to do that).
Could you please help me? If my question aren't clear, please tell me, I will try to explain it in another way.
Many Thanks
F.P.
iOS is very restricted in terms of the system behaviors third party applications can influence.
To answer your question bluntly, a third party application could prompt the user to initiate a phone / FaceTime call. Once the call is initiated however, your app would enter a background state and relinquish control to the system. The app would not be able to contribute or read any data related to the system phone / FaceTime call.
iOS 10 introduces a VoIP extension, CallKit, which allows third party apps to use the built in calling UI with a custom protocol. You could implement your own protocol (and host servers for handling the exchange of information) and build an extension to make it feel like a system call. You'd be responsible for all aspects of the custom call protocol and thus reading voices, contributing audio, etc. would all be possible (and up to your implementation).
Outside of iOS 10, you would have to built your own VoIP system and interface entirely from scratch.
For more info on CallKit:
WWDC Enhancing VoIP Apps with CallKit
CallKit Enabled Sample App

is it feasible or possible to launch ios app on a specific incoming call using core telephony or some other frameworks

1.is it feasible or possible to open/launch ios app and open a specific screen on a specific incoming call using core telephony.Something where i can register my app as observer of incoming call event.
2.if my app is already launched, is there any delegate or notification of core telephony so that i can handle it and open a specific screen.
3.can above requirement filled using notification, as i can think notification will no be able to fulfil this requirement as there may more than one apps having notification, then how ios will decide to open which ios app.
if it's not feasible then what would be alternative or creative idea close to achieve this(open an ios app specific view on incoming call/message/notification centre) behaviour.
thanks
It is not possible to achieve any of the above 3 points. According to HIG, you can not do it. Also apple has not published any of the API to do same. Its not possible with public APIs.

Resources