私は、アプリケーションが起動する前に契約を受け入れることを希望しています。だから、appDelegate.mに私は、次があります。アプリが初めて起動されたときのiPhoneの通知
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
defaults = [NSUserDefaults standardUserDefaults];
if(![defaults boolForKey:@"warningAccepted"]){
UIAlertView *alert;
alert = [[[UIAlertView alloc] initWithTitle:@"Warning" message:@"Message... To continue, select \"OK\". To close the app, select \"Cancel\"." delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil] autorelease];
[alert show];
}
return YES;
}
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0){
[defaults setBool:YES forKey:@"warningAccepted"];
[defaults synchronize];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
[window addSubview:mainNavController.view];
} else {
[window addSubview:tabBarController.view];
}
[window makeKeyAndVisible];
} else {
// Close App, User hit cancel.
UIAlertView *alert;
alert = [[[UIAlertView alloc] initWithTitle:@"App Cannot Continue" message:@"The application cannot run until warning is accepted." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil] autorelease];
[alert show];
}
}
一つの問題は、ユーザーのヒットをキャンセルする場合、他と呼ばれることは決してありませんということです。もう1つの問題は、アプリの継続を止める方法がわからないことです。私が見つけたことから、Appleはあなたにアプリケーションを強制終了させたくありません。あれは正しいですか?これを実装するにはどうすればいいですか?あなたの助けをありがとう。
返事をありがとう。あなたは正しいです、キャンセルボタンはインデックス0にあります。ユーザーがキャンセルを押すと別のalertView(ボタンなし)を表示しただけで、Appleはそれを受け入れますか? – Brian
私は、Appleが特定の条件を受け入れることなく役に立たないアプリを嫌に思うだろうと推測します。 – kubi
+17の定格アプリや一部のウェブブラウザはどうですか?ユーザーは強制的に条件に同意する必要があります。それは本質的に私が何をしようとしているのです。 – Brian