Incoming call wakes iOS background App? - iphone

is it possible to wake an App in the background up, when a call comes in, and access CoreTelephony to send some infos over the web?
I'm practically a n00b in iOS development right now, but got asked a question if iOS is capable to do this. I searched in the iOS reference too, but with no luck.
It would be great if someone with more experience could answer it. Thanks a lot!
Steno

Please, have a look at the document about executing code in the background.
If you go to section "Implementing a VoIP Application", you will see that it is actually possible for your app to be awaken periodically so that it can check if it has anything to do (in your case, if I understand you correctly you would use CTCall to check for calling state).
So, basically, when awaken, your app could check for any incoming call and then use Core Telephony, as you say.
The only trouble about this is that if your app cannot be considered to a a VOIP app, Apple will not let it into the App Store.

It is not possible to have your code run when a call is received.

Related

Getting notification of iOS device usage in background

Might be i am using a wrong title but i will try to explain here what i want.
In iOS i need to implement a functionality to get notify if the user is using their iOS device.
My app will be running in background using location services and i need to find out if the the user is using their device. It is doable as i have looked into this application which is sending notifications in background to the drivers who is suing their devices while driving.
https://itunes.apple.com/fr/app/cellcontrol/id661169580?l=en&mt=8&ign-mpt=uo=2
So i need similar kind of functionality to find out if a user is using iOS device or not. If anyone of you can suggest me any approach then it would be great for me to start.
Thank you!
Note: I have tried to find out touch events in background but that is not possible as i have done some research on this.
You won't be able to receive touch events when the app is in background using public API's. However, you can do that with the help of mobileSubstrate library ( http://iphonedevwiki.net/index.php/MobileSubstrate - The MobileHooker component is the one that would be used). by hooking your process to the OS. As an example, the display recorder app in Cydia tracks global gestures while recording the screen. This will be a cydia tweak and you will need to jailbreak your device to do all that.
Coming to your specific use-case, the example app you cited should be using one of the exceptions for background applications mentioned in https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html (see the section - "Implementing Long-Running Background Tasks"), probably the one to receive updates from external accessories.

App that reacts on the voice of calling party

I need to develop an App that reacts on the voice of the caller - so the participant in the phone call who is 'not there'.. specifically:
Someone calls me and stops speaking. The app should alarm me saying "participant stopped speaking" (it does not matter if the sense of the app seems stupid for you now ;-))
My question is just - is this technically possible? Since apps normally are paused as soon as a phona call comes in. I know they can be restarted during the phone call - but can they react on the voice on the other side of the line or is this only possible for my own voice?
If you think its possible, any special things i have to know?
Thanks a lot!
tim
This is not possible. Because when any call comes in iPhone our application loose control and it goes in background.
With official SDK it is not possible to intercept any phone calls.
Hope this helps.
This is not valid IDEA using standard SDK, though you can do this using some other IDEA's one of them is CYDIA.
Thanks,

Can we play prerecorded message in a call through iPhone app?

I want to create an iPhone app with following features:
User should be able to make a call to number.
App will play the prerecorded message when call get connected.
After playing the message, line will be connected and user will be able to communicate with the person to whom he made the call.
I heard that Apple doesn't allow the developers to interact with the calling functionality of iPhone but is there any way to achieve this. Please suggest!
Thanks-
You have heard correctly, According to Apple Developer Library, it is not possible to intercept the calling functionality.
Simple Apple does not allow such stuff with current sdk.
Not so sure but, May be possible for jailbroken iPhone app.

Are there new API's in the iPhone SDK which allow you to access the iPhone's Call log (Like Agile Reply in the App Store)?

I saw a new app called Agile Reply which allows you to send a sms to the person whom just called you. I didn't buy the app but I don't understand how it would work since as far as I know you can't access the call log through the official iPhone SDK. So my main question is:
Are there new API's in the iPhone SDK which allow you to access the iPhone's Call log?
I know there are similar questions here and here however I didn't know if I should hijack those or start a new one.
Take a look at CoreTelephony. While it won't give you arbitrary access to call logs, you can get notifications of call transitions, which if you can keep at least in the suspended state, may be enough. I don't know how accurate Agile Reply is.
I found the solution here but it doesn't work for iOS5.
http://iosstuff.wordpress.com/2011/08/19/accessing-iphone-call-history/

Possible to hook into the phone calling functions with current iPhone SDK?

I've heard it mentioned elsewhere, one cannot programmatically hook into the phone call area of an iPhone using the current SDK. I'm looking to learn iPhone development and Obj C, with the end goal of creating a call timer app that runs in the background and alerts the user when a call has gone on too long.
Is it even possible to hook into methods liek that?
No. Your app will be interrupted when the user receives a call, and your code will not be allowed to run while the user is on the call. Additionally, there are no background apps allowed for the iphone. The best you can get is push notification, but you can't create a daemon or anything like that.
This information is provided in the iPhone Application Programming Guide
With version 4 you can now multitask to some degree.