I'm looking into MAP profile (on iOS) because is under standard profiles and you don't need MFi to use it.
My question: is it possible to use MAP profile to transfer data (in messages)? or are you restricted to just messages, calls and emails? In other words - when I send data to phone over MAP profile is data accepted by any application or specifically my messages application (or phone application, or email application).
I hope I was clear :) thx
My own replay for purposes of "closing" the question.
I couldn't find the way of sending data over MAP - at least on iOS and event if I would manage to send it I'm almost certain that only specific application would be able to accept the data. So for example mail would be accepted by Mail application.
Related
I am developing an iOS app targeting iOS 9 and above using Swift 3 and xCode 8.
I have a "Contact ViewController" which contains multiple forms where user enters its data to submit. Collected data also contains users' e-mail address. I am validating all the information that entered by the user correctly.
So, what I would like to do is my "send" button to send the user's all data to an e-mail address.
Is this possible without using Mail App or its interface? Do I need additional framework for such functionality?
I appreciate your time and sharing your thoughts.
This is not possible secretly. You can't send an email from the users device via the Apple Mail app because the system will not allow that. You can prepare an email with all the data that opens and let the user send it to you by tapping "Send" in the NavigationBar. So yes, you would need another framework to do that.
But I would not use emails to do that. Just use a server you send the data to or a service like Firebase.
If you really have to send E-mails, and just pushing the data to a backend API is not enough:
This is not possible using built-in functionality, but you could leverage an external mail delivery service like Mailgun to send your mails. (From a security standpoint, this should be handled by a server and not by the app itself however.)
I've made it possible to send a serialised object via AirDrop. I've added both a custom Document Type and an Exported UTI.
Sending and receiving the file is working just fine - in that the recipient can process and use the data as expected.
However, when testing this process between my devices the files are automatically accepted - the recipient isn't given the opportunity to accept/reject.
Normally, when sharing files via AirDrop the user is given the opportunity to accept or reject, so I'm wondering if I need to do something to ensure this happens? But, I haven't seen anything in Apple's documentation relating to this...
Any suggestions?
Ah! This turned out to be a non-problem.
I've been testing the application using two of my own devices (iPhone and iPad). The key here is that the same user / Apple ID is signed into each device.
In this case, when sharing data using AirDrop files are accepted automatically. I confirmed this by sending a photo from the Photos app between the same devices and the same auto-acceptance was observed.
When expanding the test to use someone else's iPhone, data shared via AirDrop from my app did get the system's Accept/Reject dialog.
Nothing to code. Nothing to do.
Is there any way I can send some data to contact from contacts app? for example some string or integer? E.g. I have an app, when user open it the app shows all contacts from Contacts app. and when he tap one of the contact the app must send data to the persons phone. Must I do it with web service or there is any way to do it without web service?
P.S. sorry for my english!
There is no way to do this using built-in iOS libraries without invoking a UI. You can send an SMS message using the MFMessageComposeViewController class. That displays a UI to the user. If I remember correctly you can prepopulate the view with the content you want to send, but the user can edit it.
Likewise there is the MFMailComposeViewController for sending email, with or without attachments.
If you want to send data to another user without displaying a UI to the user you will need to either use a webservice or come up with your own system (involving a server you manage, a TCP socket connection between copies of your app running on both devices, or some other custom development)
Is it possible to send a text immediately inside an app. I have implemented the sms send. I just want to bypass the screen where the user has to press send.
There is no way to bypass the MFMessageViewController screen where the user has to tap "send." I assume Apple has designed it this way to prevent an app from potentially spamming a user's contact list.
In addition, there is no way to detect income SMS. Both these features are strictly reserved for the native Messages app.
For more information on sending an SMS on iOS check this out.
One alternative is to implement sending and receiving messages within your app using a web service to store and retrieve messages. For example, you could use a messages library like JSQMessagesViewController documented here and for simplicity's sake, you could use a BaaS like Parse.
I have a basic web app that is able to send push notifications (via UrbanAirship) to my iOS app.
My questions is, how can my webapp know that I have a new iOS app user? So I can then put the push DeviceID into a database (along with other data as required).
i.e. what is the interface for getting data into the Webapp, is it new code in the iOS app, or is there some other interface from UA?
Thanks..
I'm not an iOS developer, so it's hard for me to be too specific, but I'm assuming you need to store a device ID and (possibly) a token so that you can send messages to that device. I'm assuming (also) that you have access to this information on the device.
The correct way to do this would be to create datastore table of devices and the information associated with them (tokens, various IDs, I also like to have the last time I sent them a message, etc.) Then you send a request (should be a POST request, semantically) to your app when the user registers their device. Send the information you need in the POST request, then store it in your datastore through a handler.
Hope that helps? That's how things are done with Android Cloud to Device messages, and from my quick perusal of Urban Airship, that's how their service works, too.