How to access content of Apple Push Notification by using MDM? - ios

I'm trying to find a way to access content of all push notifications through notification center.
In other words I want to know what my employees/kids have received from WhatApp and SnapChat etc.
I have done some R&D to see which port of apple receive the message or to see how smart watches access push notification.
Has anyone done something similar or any hint or lead can be greatly appreciated?
In Android there is an API to access notifications but not sure about iOS!!
Ports used by apple:
https://support.apple.com/en-au/HT202944
Ports on APN
https://support.apple.com/en-au/HT203609
Access to push notifications through Bluetooth:
https://developer.apple.com/library/archive/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/Introduction/Introduction.html

I am sorry to inform you that such a system is not possible in iOS . All iOS apps are sanboxed and data of one app cannot be read by another. Thats the reason you cant find any apps to read OTP password form message except the native keyboard app.
Apple will not allow any apps/service even in future as Apple devices are designed for more security and privacy. It violated basic privacy of end user and it should not be done.
Having said that , you can always control installing of apps / removing app remotely etc through MDM . You can take more control of your employees devices through a MDM software .

Related

Does a Notification Service Extension need any capabilities?

I’m creating an App ID for a Notification Service Extension
Do I need to add any capabilities to it?
Its only purpose is to download the image for the notification. I don’t think I need to.
Currently I'm able to build into my device without enabling any capabilities in Xcode. Although when I look into the provisioning profile that Xcode built itself, I see Keychain Sharing enabled.
I also saw this tutorial and the tutorial goes with enabling 'App Groups'.
While this other tutorial goes with enabling App Groups along with Push notification. I don't think I need App groups because I don't need to pass any values, just updating the notification is all I need.
I didn't find anything in the docs that mentions what's the correct approach. A friend told me he got his to to work without enabling anything, so I'm very confused.
Basically, you don't need any capability for notification service extension.
Several of my applications work without any capability.
One of them use app group. I need to enable it to share the log files of main application, then load it from notification service and push it to server side when receive a silent push.
Few of them need keychain sharing, so that I can get the key to secure communicate with server side from notification service.

Can I do an app like Find my iphone in iOS?

I want to create an app which has the following features.
Track friends / family members location
Locate/track the stolen device location
Lock the device, delete the device datas by using desktop or by SMS.
Most of the above features are provided by Apple's "Find my iPhone" app. But I just want to know whether is it possible to create such an app.
From my understanding, Apple wont let the developers to use private API's and they wont allow to erase datas (like Messages, Calls details) remotely.
Please suggest me some ideas.
If you create any app which directly competes with any of the apples build app will be rejected by appstore.. But most of the above things you can do with private api's and with the help of a web service..
It wasn't possible prior to iOS7. App was not able to respond to any remote calls. There is a new API which "can" be used to solve similar things: http://mobile.tutsplus.com/tutorials/iphone/ios-7-sdk-mutlitasking-enhancements/ or http://www.objc.io/issue-5/multitasking.html (Remote notifications). You may be able to track your friends or stolen device, but not to lock or erase it.
There is a way to remotely erase the iPhone without Apple's Find My iPhone - via Exchange account. There are some open source implementations of MS Exchange, so there may be a chance to make a service which would be able to wipe the device. But even when you make that service, there will be a need to add the "exchange account" into the iDevice. I am not aware of any function which can do so programmatically.
Anyway - You can do an app which is similar to Apple's apps, but it must be somehow different. It must provide some special content or functionality, otherwise it will be rejected.

Is it possible to read how bluetooth notifications are currently configured in iOS 7?

The documentation on ANCS is pretty clear that you can react to notifications when they are coming in, have come in, and when they are cleared from the Notification Center; however, what if I wanted to give a user the ability to configure my Bluetooth 4.0 accessory to only respond to notifications coming from a specified app?
The ideal UI for this would be a simple list of apps they either have installed or apps that have been granted access to the notification center with an on/off switch.
Thanks for editing! I wasn't sure if we were "allowed" to link to Apple documentation or not.
To get a list of the installed apps, there is no dedicated API. You can use the URL scheme trick to detect whether an app is present but its enabled state in the notification center is not detectable in any way. However, based on the URL scheme app list, you can configure your peripheral for a subset of the installed applications and you can provide additional options for the user for other apps. (Though, I think most apps that come into consideration for you should have URL schemes.)

In Newsstand app how do I find a list of devices that are subscribed?

I can't afford UrbanAirship so I'm trying to program the server side of a Newsstand app myself.
I plan on using the JavaPNS API.
The one thing I can't seem to figure out is how to find a list of users who have a subscription in my app.
Can I query this information from Apple some how?
If I can't then I guess that means that each time a user subscribes they send their device token directly to my server. I hope this is not the case because I was hopping to run the server on my laptop and send out pushes myself without having to keep the laptop running all day listening for new subscribers.
Thanks!
Looks like I do need to register each device with my server: http://www.ibm.com/developerworks/web/library/mo-ios-push/index.html#resources
You kind of found your answer but just in case you really need a server for not only handling the push notification (for telling your app in Newsstand to check the new issue and download it in the background) but also for subscription and in-app purchasing.
Every time you launch the app you should check few things before you refresh the UI. You should check if the user is a subscriber or has user already bought the issue so you can show view/download button instead of Buy button.
Check out these tutorials if they help to understand these communications better but believe me you will end up with one of those services like Urban Airship (Which I think UA is the best option because it handles all in one not just push notification):
http://ios-blog.co.uk/tutorials/how-to-make-a-magazine-app-in-ios-part-i/
this one is more focus on server part:
http://ios-blog.co.uk/tutorials/how-to-make-a-magazine-app-in-ios-part-ii/
http://www.viggiosoft.com/blog/blog/2011/10/17/ios-newsstand-tutorial
http://www.raywenderlich.com/2797/introduction-to-in-app-purchases
And as always this is the best place for start (it has everything you need):
https://developer.apple.com/devcenter/ios/newsstand/
These are some resources to help you in developing app for Newsstand but still there are not enough people out there to share their experience.
Best of luck.
Edit: Add these two links two this list:
http://www.marco.org/2012/10/11/the-magazine
http://www.marco.org/2012/12/12/the-magazine-future-of-publishing

Can my iPhone app register to receive push notifications meant for another app?

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.

Resources