I need to install an enterprise app through MDM.
My MDM implementation generally works.
But if I use the guided mode, the push notifications aren't delivered to the devices running in guided mode so the app won't be installed. Why?
Is this generally possible?
Is there a way to install an app in a silent enforced way (without the "The server will install application... do you want it?" alert).
I actually need an update process like following:
App x is running, but needs to be updated. Because it is a kiosk device (iPad running the app x in guided mode), it should happen automatically without user interaction. There may be interaction by a customer using that kiosk device.
The app x is closing itself and changes to app y that shows a lock screen "Maintenance, please wait..." (i.e. a notification from my server and through a trick with [[UIApplication sharedApplication] openURL:xxx])
App x has been closed in step 2 is updating by MDM in background.
App x has finished being updated.
A signal will be send to app y so it will switch back to the updated app x.
The switching between x and y can be implemented directly into the code. This is not a problem.
But I stuck in sending the push notification that initiates this process. :-(
Related
I am developing iOS App (iPhone/iPad) that needs be started when the device is turned on.
The app should be started on device boot.
Is this possible on iOS using Swift?
It's not possible to start your app whenever the device boots. Depending on what you need, there may be other alternatives such as running some code in the background when the app receives a Push Notification or turning on Background Fetch, though in the latter case, the system still has control on when to launch your app.
I have a supervised iPad with few applications installed.
When I push a kiosk mode profile for running only single app, iPad switches to single app mode.
What happens if there is an update available to the app running in the kiosk mode?
iOS doesn’t allow any updates in Kiosk mode. So, as an admin, if one needs to update the app, you would remove the app lock policy, then push the app update, and then re-apply the app lock policy.
This post helped me
According to the documentation silent notifications are processed by the delegate application(_:didReceiveRemoteNotification:fetchCompletionHandler:) also when the app is in "Not Running" state. This behavior does not apply if the app was force-quitted by the user.
But the documentation mentions that if the device has been restarted after a force-quit, the notification will trigger again the app launch on the device.
Excerpt from the documentation:
... However, the system does not automatically launch your app if the user has force-quit it. In that situation, the user must relaunch your app or restart the device before the system attempts to launch your app automatically again.
Can anyone confirm this to be working (maybe with earlier iOS versions)?
My experience (using iOS 10.x) is that if the app was force-quitted the app won't be restarted even after (multiple) device reboot.
I have a VOIP enabled app, that has suitable codes to enable the app to run on background. The app runs fine (say for example it is able to receive calls) when its on background.
Now, when I restart the phone (with my app in question running on the background), I see after the restart the app is there on the list of apps running (this I am able to verify by double tapping the home button). However, my app is not actually running on the background, it does not receive any calls.
Once I open the app, it 'relaunches' and is now able to receive calls. Is this the expected behaviour? Or am I missing something? I need to renewable the app in background mode once the phone is restarted.
I'm currently writing an iOS application and am receiving battery status change notifications. Of course, when I'm debugging my app it would be nice if I could toggle the battery status without unplugging my phone. Is there any way to do this via OS X or XCode, that is, while having the phone plugged in tell it to stop charging so I can test my notifications and actions?
Due to Apple's sandboxing regulations and firmware, you can not tell the phone to stop charging. This is a service extremely close to the core of the phone, and it can not be programmatically accessed.
Of course, when I'm debugging my app it would be nice if I could toggle the battery status without unplugging my phone.
Since you can't do that (per the accepted answer), an alternative that will help you debug is to create and send your own battery status notifications. The notifications are regular old NSNotification objects, and you can create and send your own with the name set to UIDeviceBatteryLevelDidChangeNotification or UIDeviceBatteryStateDidChangeNotification. That should let you trace through any code that would normally run when your app receives those notifications.