This is in regard to Objective-C in an iPhone app...
I have figured out how to get a list of all contacts on my iPhone, but is it possible to send out a mass text? I know I can make a message composer which has an array of recipients, but that will end up sending the text as a group text, not as an individual text to each person.
Also, is there a way to send a text message in iOS without using a message composer?
Most likely no, at least not without jailbreaking. This is the sort of thing that Apple wouldn't allow developers access to just to prevent any possible abuse by the same (especially when it might cost a user a small chunk of change if a mass-text got sent out).
MFMessageComposeViewController is your best bet. You'll be able to specify an array of phone numbers to send SMS to. As for group messaging, I would assume it would default to the users settings. (This is an option in Settings.app) It's simple enough to test but the documentation doesn't mention it.
http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMessageComposeViewController_class/Reference/Reference.html#//apple_ref/doc/uid/TP40009668
Related
Is there any way to block incoming phone calls, text messages and email. Will appstore allows these kind of applications on appstore. Please help me if this is possible or not.
It is now possible from iOS 10 to block the unwanted calls
Checkout the CallKit framework
CallKit 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.
Update: Never say never :) iOS 10 introduced this possiblity, see other answers.
Original:
NO, this is not possible with public API (and non-jailbroken devices)
And NO, Apple would never allow any app that disrupts the expected standard system behavior
Apple will never allow any third party application to do any illegal things without user's knowledge. This is the policy I think apple has applied to ensure his user's that their data are safe in their iphone. U can consider mails, calls, sms to be under those categories. There may be others which I might have missed.
Please refer this link for your knowledge
Only Apple can do that and unfortunately for you they plan to do otherwise.. :/
Even if it is called "smart", all in all your target device is a "phone" so the basic phone functionalities should not be ever blocked, and the phone manufacturers do not allow this for third party applications.
Rajan is correct you can block the incoming phone calls from iOS 10.
Create a Call Directory Extension , use the addBlockingEntry(withNextSequentialPhoneNumber:) method to pass the blocked numbers to the system.
Now it's end of 2018 and actually you can really do something with Apple's latest API.
As #Rajan stated, with CallKit API (iOS 10+) you can achieve call blocking and identification (i.e. show additional info on the incoming call screen for the caller's phone number).
You can also do SMS and Call Reporting (iOS 11+) as well, where you have access to the SMS content if the number is not in your Contacts.
I'm trying to develope an iphone application which helps for filtering spam text messages.
But I don't know how to hook text messages.
Please help me.
You just can't. iOS API as of today does not give you access to text messages. Not to read them, not to send them, not to filter them. Sorry to break you bad news.
If your phone is jailbroken, you could do it by accessing the SQLITE database where text messages are stored. But you definitely won't be able to distribute your application through AppStore.
In order to do what you are trying to do, you are going to need to hook into the API. It is possible to jailbreak an iPhone without it being identified as 'jail-broken', though it's a bit tricky and a single screw up can deem your HID jailbroken for life.
If you're attempting to make a program usable for any user, this is not the method you want to use.
The only way this would be possible, is through a virus.
I'm trying to implement an app that can read received SMS and email out. I mean convert the text content to voice. So I need to access to SMS and email first. As far as I know, there is no such API provided in the default SDK. Is there any other way to realize it?
Are the SMS messages stored in database(sms.db)? How to access to them? Is it only possible on jailbroken iphones?
And what about emails? Are they only stored in mail servers? How can I get them in my app?
Sorry for asking so many questions. I have spent many days on this problem, but havn't found any solutions...
You can't. According to the Device Features Programming Guide: Sending an SMS Message:
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.
There are serious privacy and security concerns with enabling app access to emails and SMS, and I am glad Apple choose not to do it.
Yes, you can, (at least with SMS) but only in a jailbreak app (which you suggest is ok in your comments).
The sms.db file can be read by apps that aren't sandboxed.
See my answer to a similar question for how to get SMS content. That answer just shows how to get the most recent SMS, but if you just use the commented out while loop, you can iterate through all SMS.
I have made an iphone application that allows users to send text messages for free to any mobile. I want to allow users to add emoticons into their message from standard set provided by me. What might be the best possible solution for this scenario?
regards
ayaz Alavi
The typical way is to use UTF8 codes which map to images on the users' phones.
However, unless the recipients of the text have configured/setup their phone to support these codes ala the [Emoji app of the day], they will see little square boxes.
If both the sender and the recipient have your application, then you can handle it directly, of course.
So basically, you are SOL. There isn't anything you can do besides recommend your users install an emoji app. Sorry.
You can add like this
NSString *comment = [comment stringByReplacingOccurrencesOfString:#":)" withString:#"\ue415"];
Find some emotions code here
Here
Is it possible to copy multiple numbers from a table to the clipboard then paste the same to the SMS.app's To-field, like possible using commas after each number?
Thanks in advance!! :)
This is not a full answer, but check out UIPasteboard which allows you to manipulate the system clipboard. You might try adding multiple NSURL 'sms:...' "items" to the general pasteboard to see if the sms app interprets them appropriately. Please reply and let me know if it works.
Also check out MFMailComposeViewController. I don't think it will internally support SMS, but you could use it to email multiple SMS numbers using a general SMS gateway, or use a lookup table of cell phone providers by number allocation block to use individual providers' gateways. Advantage of using MFMailComposeViewController is that you don't need to quit your app.
There are some "free text message", "free MMS message" apps on the app store that seem to use the later approach.