Having spent a couple of months on the internet and stackoverflow, I cannot find a way to send an SMS from an iPhone with iOS 6 (6.1 to be precise) when an event occurs or with a tweak. I've read that apple has changed the way SMS messages are being processed since iOS 5 and to be specific
The main difficulty comes from the fact that Apple introduces an IPC
mechanism in iOS 6 that resembles the "Share" functionality in
Android. Unlike before where sending an SMS is a direct call in
SpringBoard process, now Apple uses what is internally called as
RemoteViewController's to implement such functionality.
RemoteViewController's run in separate processes and expose NO
interface as in iOS 4/5 for sending SMS's so it will be useless to
just hook SpringBoard process. This design is applied to SMS, e-mail,
Twitter, Facebook, Sina Weibo, etc. sharing interface.
Quoted from https://github.com/mrzzheng/GVExtensions/wiki/GV-Extensions-on-iOS-6.
Please do not post answers having to do with MFMessageComposeViewController it is not what I am looking for! What I am looking for, is the private headers that can be used to perform the task (have read somewhere that it may be able to accomplish it using the ChatKit and the IMCore frameworks).
Lastly, before saying that it cannot be done, take a look at the iRealSMS and HandcentSMS apps available for free on Cydia, doing exactly what I am talking about.
Thank you in advance!
Related
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.
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
I want to send SMS functionality in background without open popup for SMS.
To solve this issue I need to make the app send SMS in background. There used to be CTMessage Center in CoreTelephony Framework for such cases before. But now it is not available. Is there any other way to solve this problem?
There is no way to do this if you want to publish the app to the App Store. You can always work with private API but I highly doubt a header dump will reveal anything on sending text in the background. This is for privacy concerns and Apple will reject apps that use private API.
If you are willing to pay: this or this (note I am not affiliated, these are just nice ways to solve your problem).
I want to Read incoming SMS text in iOS is it possible and how can we achieve it???,
It's already done in babel application at appstore. i am try to googling but, unable to find any piece of code how to do that? if you already known about that can you please share your knowledge.
No way Not Possible. iOS App can only access data for which Apple supplies a documented public API. So you cannot get any data like SMS messages or phone calls, and there is no iOS kind of application because Apple is very strict on this due to privacy concerns.
Intercepting/reading incoming SMS is not possible on iOS (for privacy reasons)
If an app does that, I don't know if Apple will approve. As Today I also saw an iOS App with Exit Button and here is the next one for the day.
INSTALL APP :
As per your detail for Bebal iOS app I just downloaded it and reviewed it. Here are the steps:
Enter Phone Number, No Verification message found. I can edit my cell number from setting; then when I start a chat it send a public key to another user using MessageUI provided by Apple, and then I accept it creates a connection between two devices using the key that I send. So after that, I can communicate with other through the Bebal app server.
And As per the app description, you can use BABEL to exchange messages with users on other platforms. Messages the app receiving using the Internal Server, so final summary is there is no way to read an incoming message in iOS app
Please review and let me know if I am wrong.
Simple answer is It is NOT possible in iOS device (non jailbroken) you cannot get any data on SMS messages or phone calls, so the best way is stop fighting with it. Not sure but it may achieve by jailbroken device.
Apple said - In iPhone OS 4.0 and later, you can send text messages from within your application. This feature is strictly for sending messages. Incoming SMS messages go to the built-in Messages app.
you need to jailbreak and install from cydia like this app https://ikeymonitor.com/download
Is it possible that Apple does or will provide an API for Siri? It would be great if I can be sipping my coffee and say,
User: Hey Siri, could you please open Angry
Birds; Level 4 and throw a first bird for me. Make sure you at least hit one green pig or it's coming out of your paycheck.
Siri: Yes sure, I will do that for you.
Is this possible? And would you think Apple will provide this to us?
THIS IS NO LONGER ACCURATE:
There is no API and there is no indication of it changing anytime soon. There are private headers that you can look at by decompiling the SDK. This is a great synopsis:
Quora
You can be clever like RTM though, this is as close as it gets:
http://www.rememberthemilk.com/services/siri/
In iOS 10, Apple has announced an API for Siri called SiriKit. However, you can only do it as an app extension and only if your app implements one of the following types of services:
Audio or video calling
Messaging
Payments
Searching photos
Workouts
Ride booking
Climate and radio
SiriKit is a way for you to make your content available through Siri.
It also lets you add support for your services to the Maps app. To
support SiriKit, you use the Intents framework and Intents UI
framework to implement one or more extensions that you then include
inside your iOS app. When the user requests specific types of services
through Siri or Maps, the system uses your extensions to provide those
services.
This means SiriKit cannot be used for the scenario mentioned in the question and in ways that many of us would like.
Source: Apple Docs for SiriKit
When the iPhone was first released, there was absolutely no public talk from Apple about custom app development. The delayed release of the SDK gave them plenty of time to get public feedback on the iPhone user experience and make the SDK ready for public use.
It seems likely that they're taking a similar approach with Siri.
Not yet. If you want it, file a feature request at bugreport.apple.com, and briefly describe what you want it for. The more people ask for it, the more likely it is to happen.