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.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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".
回答2:
You can suspend the app and it gives the appearance that the app is closing.
UIApplication *app = [UIApplication sharedApplication];
[app performSelector:@selector(suspend)];