Opening App From a Notification While Device is Locked - ios

Is there a way to open an app from the lock screen without putting in the password? Like the phone app can be called when a missed call notification is present. Is this possible?
I have dabbled with various ideas to make the main functionality of my app work. Through my research I cannot find an answer to my dilemma.
I want the user to be able to use the app without unlocking the phone or once in the app not being able to quit the app without a password essentially locking the phone from other uses except the main functionality of the app.
I know there are private frameworks that would allow it but is there a way to do it with Apple's approval?

No. This would be a security issue as you could send an APN and potentially allow someone to get into a locked device without the user's approval.

Related

Force removal/invalidation of iOS app from user devices

Assuming you created an app that users have downloaded that is just awful and you neither want to fix it nor have anyone continue to use it so that it won't tarnish your brand, is there a way to end its life on user's iOS devices?
Curious if there is some store setting to force it to work with earlier versions of iOS and invalidates the current app, or code that would force an update that says the app is no longer available.
As many have confirmed, there is no way to remove an application from someone's device. For these cases though, many companies have servers that the application sends a request to on launch, that returns either a need to update the app, a message, or to tell the user the app has been discontinued and that the app cannot be used anymore, stopping them from using the app from there on.
The last use case might be useful to you, but of course this is a proactive solution, not a reactive one.

App rejected by Apple based on design guideline

Apple rejected our app with the following response:
We noticed an issue in your app that contributes to a lower quality user experience than Apple users expect:
- Upon launching the app, a web page in mobile Safari opens first, then returns to the app. The user should be able to use the app immediately upon launch.
Next Steps
To resolve this issue, please revise your app to address all instances of this type of issue.
The app we're developing is a keyboard extension. The use-cases do not require a user to actually open the app and use it. As a result, in the app itself (should you launch it from home/springboard), we redirect the user to our website, which informs the user how to use the product (there's no registration or immediate tutorial required, but we certainly cant have the app do absolutely nothing). From Apple's response, this clearly isn't the right way. My questions:
If a user were to be redirected to Messages, could this solve the problem? The reason I ask this instead of just trying it is so that I dont waste time and end up getting rejected again.
Part of the problem seems that opening the app through springboard is misleading since it doesnt do anything. But my understanding is that we cannot have apps without icons (Create iOS app without menu icon). Do keyboard apps need to be published differently so that we dont have an icon in springboard? If so, please direct me to some documentation/Xcode configuration/resources to achieve this.
This is my first attempt at mobile development
The answer provided by #particleman was the right one. Just loading a WebView within the app was enough for Apple to accept the app.

How to activate and open my app as soon as I unlock my screen in iOS devices

I'm managing few iOS devices, so I want to create a app to add security feature like collecting the user information from the user like UserID to track which user is currently using the device .
Desired output:
So I want to trigger my app as soon as a user unlock the device and without giving the details the user should not able to access the home screen of the Device.
Is it possible to do it with any framework in iOS without Jailbreak ?
No its not possible. iOS does not allows application to manage device with it self. Application should work in the pre given area which is called Sandbox. So its not possible to handle the entire device and you can not check it that who is using the device.
This is not possible, you should look to Mobile Device Management solutions and rather go that route. You could also look at apple's business solutions.

How do I detect the user unlocking the device but not if notification center is simply shown like Dropbox and 1Password?

I want to implement a password screen on my app. Dropbox and 1Password's iPhone apps do this. When you leave and come back it will lock the app, and this also works for if the app is active and you lock the device and unlock it - the password screen will show.
My thought was to use applicationDidBecomeActive but this triggers in asinine cases, like just pulling down Notification Center, which shouldn't lock the app, nor does it in Dropbox or 1Password.
How are they accomplishing this?
I believe what they're actually leveraging is the kSecAttrAccessible attributes of Keychain services, possibly kSecAttrAccessibleWhenUnlocked in this case, to get this behavior in Dropbox and 1Password.
https://developer.apple.com/library/ios/documentation/Security/Reference/keychainservices/
I don't think you'll be able to get that information via the app delegate's methods directly. You'll want to combine what you know about the app becoming active from the app delegate with the security attributes available to the keychain.

Is it possible, perhaps with Apple's permission, to switch an app to the foreground without user input?

We would like to be able to remotely control an app on an iOS device so that the app can be automatically brought to the foreground WITHOUT the user having to do anything, for example when the app receives a remote push notification. My understanding is that normally there is no way to bring an app to the foreground in iOS unless the user presses a button, because Apple has decided that it knows best, and that it is better for app developers and users not to have this possibility, because it could be abused.
We are working on a security-related app where we believe that there would be strong justification for this type of functionality (in a case where the user is not able to take any actions).
Two questions:
Is there any way to do this in iOS coding that others on similar posts have overlooked?
Does anyone have experience with whether Apple ever grants exceptions to this kind of rule if there is a good justification?
The answer is simple: NO, and there is no chance that Apple will agree to allow you to implement such functionality. The only app that does this is the Phone.app because that is its purpose.

Resources