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.
Related
My app need to take backup of user's iPhone's almost entire data to iCloud.
Can we access the call log, SMS, MMS etc. databases of iPhone just as iCloud does internally while backing up programmatically?
Is there some means to give user option list for data he wants to backup to iCloud in our app and backup only that data instead of all data programmatically?
Thanks
Assuming that you are referring to a non-jail broken device then in a word, no. An app cannot access data outside of its own sandbox
Apple can't allow to access and change SMS and log associated database. If you have jailbreak iPhone then you can access database using following path.
/var/mobile/Library/SMS/sms.db
For development level you can access it but your application wan't get approve from iTune store.
It is not possible to get SMS/Call Log/MMS detail.
Your application only access those data which can be supplies by Apple's public API.
Your application can not access data outside of Sandbox other than public API.
Yes, if your device is jail-broken and you can use hack like direct url to database.
But if you do so your application will never approve by App Store.
Please read App Review Guidelines
I will have an app deployed to business iPads that would be given to customers and typically would not have a mail client set up. I would like to collect debug information from the app and have the user be able to send it, so I can receive it via email.
How can I receive email with bug reports from an app that does not have a native mail client set up? That is I cannot present a mail composer, because it is not configured and cannot send mail.
One way I'm thinking of is to create my own web service that will process a data packet and email it, but what other options do I have?
I would recommend two different services.
Crashlytics is a service that I started using recently. It tracks usage in the app automatically, and allows you to view it online (monthly users, device, OS, etc.). However, the most useful feature IMO is that it sends you an email if and when your app crashes, along with the crash report and the exact line it crashed on.
SendGrid is another option if you're looking to send yourself customized debug data. Basically, you can send emails in the background of your app without the user knowing. If you're looking to send automated emails in the background, this is the way to go.
I have used both in my own applications, and both have been very helpful in their respective ways.
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.
I know about x-callback-url, and how it's possible to e.g. send a string to an app in iOS.
But is it possible to do this the other way around, e.g is it possible for an iOS app to fetch the song currently playing in Music.app? Can an app fetch a message with a specific caller ID from Messages.app?
I believe, you need to have access to their API/backend to do that. Talking directly to another iOS app is not possible.
No, I'm not a crook ;) I want my app to read the content of an SMS that my gateway has sent, for device authorization.
register a scheme for your app. add a link with that scheme in your sms, with the registration code as uri-path. by clicking that should open your app and you can process the uri.
This may be a pretty basic question, but here goes. I develop an iPhone app that is a third-party client for a popular webapp. This webapp has it's own iPhone app to which it publishes push notifications. Is it possible for my app to register to receive push notificatons Sent by the webapp and intended for the webapp's native iPhone app? Or is this prevented by certificate magic as I suspect?
Apple allow you to have apps with either a generic app ID in the format:
12345678.*
Or an explicit app ID in the format:
12345678.com.myCompanyName.myAppName
However, they only allow applications with explicit app IDs to register for APN (Apple Push Notification) Service. Therefore it is not possible for more than one specific iPhone app to receive the same notification.
As Farcaller says, this is not a technical limitation but an imposed one.
Hope that helps
From the technical point of view, you can register at another server with device token. You just need to know, where to register and what protocol does it use. Still you wouldn't be able to receive notifications, as they are routed depending on the application id, and you can't mimic that.