1

The question is the following:

My app can be protected with a password. When the user presses home button, application resigns inactive. After reopening it, app shows "enter password" screen. But before it shows up, the initial content screen is visible for a moment. Also if, after pressing home button, user enters preview mode (home button double pressed), preview shows content screen, not password screen.

So here are two questions:

  1. How can I change UI (to password screen or to some placeholder) before application gets resigned, so that in preview mode user would see something other than the content screen.
  2. How can I make application NOT show content screen for a moment (before password screen) when application becomes active again.

Would be thankful for any help.

rmaddy
  • 298,130
  • 40
  • 468
  • 517
Yevgeniy Leychenko
  • 1,167
  • 9
  • 21

1 Answers1

2

From the iOS App Programming Guide

What to Do When Moving to the Background

Apps can use their applicationDidEnterBackground: method to prepare for moving to the background state. When moving to the background, all apps should do the following:

  • Prepare to have their picture taken. When the applicationDidEnterBackground: method returns, the system takes a picture of your app’s user interface and uses the resulting image for transition animations. If any views in your interface contain sensitive information, you should hide or modify those views before the applicationDidEnterBackground: method returns.

So, in your applicationDidEnterBackground method you should hide your main view and present your 'login' view.

Update After a bit more research, it turns out you can't present a view controller - you can only affect the root window. I have tested the solution in this answer - Display a view or splash screen before applicationDidEnterBackground (to avoid active view screenshot) and it works - So you can create an image that shows your login screen and put that over the top of your UI.

Community
  • 1
  • 1
Paulw11
  • 95,291
  • 12
  • 135
  • 153