Search code examples
ioseula

Showing EULA when app starts and quiting if user doesn't accept it


I must show EULA on the first launch. I want to close the app if user doesn't accept it. What is the proper way to do it so that the app will be accepted to app store? I read that using exit(0) and [[UIApplication sharedApplication] terminate] is not the way to go.


Solution

  • Apple doesn't want you to exit the app because it looks like a crash. That is why they made -[UIApplication terminate] private and will reject your app if you use it. They don't seem to reject apps that use exit and I've seen apps exit themselves but I agree with Apple that it's not good UI behavior on iOS, it does indeed feel strange if you get thrown back to the home screen without having pressed the home button. So I recommend you simply show a screen with a message along the lines of "You cannot use the app without accepting the EULA. Either accept the EULA or press the Home button".