Is it possible to build this iPhone app? (phone usage/consumption monitoring)
I built an Android app that monitors the user's consumption: sent/received SMS, incoming/outgoing calls, bytes of data sent/received via mobile internet and via WiFi/LAN, and the network roaming state during any of those transactions. My client uses the info to match the user with the best mobile plan according to his/her usage data. I'm now being asked to create an iOS version of the app, but since I'm new to iPhone development, I'm not even sure if it's possible. So, my questions are...
Is it possible to detect when the user sends or receives an SMS? I need to be able to log the time when they were sent or received, the originating and target mobile numbers, the network roaming state, and number of characters inside the SMS. It looks like this isn't possible from my current research (the iOS SDK only allows you to send SMSes), but the answers I've read are from about 2 years ago.
Is it possible to detect the incoming/outgoing calls? I need to be able to log the time when the call started, when the call was answered, and when it ended. From what I've read, there's the CTCallCenter
class, but it doesn't look like I can use it when my app is in the background. I need something more like Android's BroadcastReceiver
that fires a system-wide event that I can catch when a call arrives or is being made.
Is it possible to get the number of bytes sent/received via the mobile interface (3G, 4G), and via the network interface (WiFi)? The only documentation I've found is this, but it doesn't make any sense to me.
Is it possible to get the network roaming state during any of those transactions? What I've found is that it's possible, but only if I jailbreak the phone. Problem is, I need to be able to do all of the above without jailbreaking the iPhone.
Help? Thanks.
sorry AFAIK its not possible: