このコードで、アプリストアでアプリケーションを評価するように求めるUIAlertView
があります。
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Rate on the Appstore!"
message:@""
delegate:self
cancelButtonTitle:@"Later"
otherButtonTitles:@"OK", nil];
[alert show];
[alert release];
しかし、AppStoreのアプリに移動するアクションを[OK]ボタンに追加する方法がわかりません。
これはどう?
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex != [alertView cancelButtonIndex]) {
NSLog(@"Launching the store");
//replace appname with any specific name you want
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://iTunes.com/apps/appname"]];
}
}
次のようなものが必要です。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
NSLog(@"Clicked button index 0");
// Add the action here
} else {
NSLog(@"Clicked button index other than 0");
// Add another action here
}
}
NSLogは、ボタンを押すとコンソールに表示され、何かをデバッグ/テストするときに役立ちます。
次に、必要なアクションについて、次のように記述します。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"url_to_app_store"]];
in Swift:このコードブロックを使用してアラートメッセージを表示します。
let alert = UIAlertController(title: "Alert", message: "This is an alert message", preferredStyle: UIAlertControllerStyle.Alert)
let action = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: {(action:UIAlertAction) in print("This is in alert block")
})
alert.addAction(action)
self.presentViewController(alert, animated: true, completion: nil)