I'm creating an application that has a compose SMS feature. I do not want to use the iPhone's default MFMessageComposeViewController. I want to know how to add and remove recipients for SMS (create bubble and remove it) using another technique.
The only way to compose an SMS on iOS is to use the MFMessageComposeViewController. Using anything else will get your application rejected in the App store.
Related
I want to develop an iphone app ,in which user can send a common message (Broadcast Message) to unlimited (Select All Contacts) and send to all at one time (In single attempt ) .It's possible to share images or text you want through Whatsapp in a iOS app?
Any idea regarding this?
There's also a WhatsAppKit on Github now: Check Link
There is no way you can use Whats app into App up till now. If so than also i will suggest not to rely on that.
If you want to make an feature for to broadcast a text message or image the best way is to implement your own. You can do the following:
Use xmpp Protocol
Implement push notification to notify for new broadcast messages
Create API for sending/receiving text messages & image & call it when you get notification
For more guidance refer this : http://quickblox.com/developers/SimpleSample-chat_users-ios
I want to add 100 SMS in my iPhone programmatically. Does anyone know how to do it?
You can use MFMessageComposeViewController to present a viewController filled with text and numbers to the user. But you can't send automatically sms.
You could use web based SMS API services I believe. Take a look at Twilio as an example. Also the One API Gateway is currently rolled out across Canada and will be expanding to other markets soon
I used this code in my app in order to send background sms
But i am not able to upload app on itunes it says:using non public api
#class CTMessageCenter;
can any one tell me any way to send schedule sms when application is in background
or
can any one tell me any way to send sms without presenting SMS composer
There is no "legal" (aka permitted by Apple) way to do this.
The only work around I can assume is having a webservice on a server side, which would be the one sending the messages. You're app should communicate with the server and tell him what to do (text, hour...)
You cant :) why would apple let you send sms on peoples behalf?
Until yesterday I thought that it was not possible to send background SMS without using the IOS SMS interface (Which many people here assure also). However, today I downloaded a new app called SmartSender, which schedules your SMS and then sends it automatically.
I tested it and the SMS is not actually sent on background, but a local notification appears and when you click on it to bring app to foreground, the SMS is sent automatically.
How could this be achieved?
Maybe Apple approved the app because the interface is very clear on what you are doing and what you are sending, but how can you send SMS without showing the interface?
Update: The scheduled SMS appear on my phone Messages app as sent, so I don't think that they are using another service to send SMS, also the receiver phone is indicated that the SMS was sent from my phone.
Update 2: OK I'm using and watching the app doing this, so IT IS POSSIBLE without showing the default interface, I'm not asking whether this can be done or not. I am using it with all internet connections turned OFF, and the message is sent from MY PHONE so it appears on the MESSAGES APP. So the app is not using any third party service.
Update 3: I will accept my own answer, in fact it is not possible; however it was when the question was answered. The App in question has now specified in its description that it won't work in iOS 6, so I think Apple patched some bug that could be exploited to achieve this functionality.
Having tried the app, I can verify that it does send SMS programmatically, without showing the SMS interface. And it clearly doesn't happen through a third-party service, since the message gets sent as an iMessage when possible.
It's also clear from all the other answers that there aren't any public APIs for sending SMS programmatically, so the developer must have used a private API and yet somehow snuck this app through the approval process.
Specifically, it seems he used the CoreTelephony API. This post on SO describes the procedure. Apparently you'll also need to get your hands on the CoreTelephony header files somewhere.
I've been looking into the SMS send/receive limitation on iOS for a few days, using iOS 6 and XCode 4.5 (latest as of writing). I was curious about this SmartSender application so I purchased it.
I don't know if it's because I only tried it on iOS 6, but I get the standard message controller (MFMessageComposeViewController) to send messages. I have tried delayed send - I get the message controller at prescribed time and have to manually click on Send. I have tried immediate send - that pops up the controller and I also have to manually click on Send. If I click on Cancel, the app actually loops me back into the message controller (I can't cancel unless I kill the app!)
So true, this allows entering messages from a custom UI, but then the message itself is copied into the MFMessageComposeViewController and that is what sends the SMS. So App Store approved, but nothing like what we're all looking for!
You can not send SMS programmatically in background, you can use following third party API to send the text message (SMS).
http://www.twilio.com/
http://www.nexmo.com/
https://www.tropo.com/
I would suggest nexmo, its easy to use and support international messages also.
In fact it is not possible; however it was when the question was answered.
The App in question has now specified in its description that it won't work under IOS 6, so I think apple patched some bug that could be exploited to achieve this functionality.
You can use:
[[UIApplication sharedApplication] openURL: #"sms:+3912345678"];
it doesn't work on simulator... and you cannot send programmatically sms!
Tested on iOS < 6.
There is no way to send SMS programmatically. You may want to investigate a 3rd party service service for sending SMS like Twilio.
I am new to iPhone development. I created an iPhone application, using which user can create a Business Card kind of UI in TableView. I want to know how can i send a Business Card(which i created programmatically) data into another iPhone via SMS? I want to know the technology which i should use to sending such thing from one iPhone to another via SMS or Email, i shouldn't use WiFi/Bonjour service which can send only upto nearest area.
thanks.
Calve/
SMS wasn't designed for this, and so it probably won't work like you're describing. Here's what I would do:
You have your BusinessCard object. Upload it to your servers and give it a unique identifier. This identifier is what should be sent to the other person, whereupon they can use the identifier to download the appropriate card.
If you wanted to be super cool about it, you could maybe construct a URL like: "card://12345678890", where 1234567890 is the identifier. You could then set your app up to respond to "card://" urls. Then send the card URL around via SMS. When a user taps on the link in their SMS app, it'll automatically open up your app (providing that they have it downloaded and installed, and that nothing else has registered "card://").
For additional awesomeness, you can allow people to create "shortcuts" to their identifier (like bit.ly), so they can send around "card://my-cool-business" instead of "card://1234567890".
You could encode your business card data as a base64-encoded custom URL, assuming it isn't too large. An example of doing this kind of URL-driven data exchange (which does not require uploading anything to a server) can be found here.
I doubt that you'll be able to encode enough information in the tiny size of an SMS message (unless you were just sending compressed text, no images), but this approach would work well with email.
Where MMS is available you can send a VCard formatted object attachment by that route. The receiving phone will detect the attachment format and allow you to manipulate it.
This will also work to non iPhone devices.