Вы, похоже, делаете предупреждение, чтобы оценить свое приложение в магазине приложений, вместо того, чтобы отвечать на ваш прямой (технический) вопрос, я постараюсь решить более крупную проблему. Вы должны рассмотреть существующее решение с открытым исходным кодом для обработки запросов пользователей на отзывы, вы можете контролировать функции, такие как, сколько запусков / дней спустя, чтобы запросить их.
Я могу порекомендовать Appirater от Arash Pyan . То, что он делает, это обрабатывает часть рейтинга приложения автоматически. Он перенаправляет пользователей прямо на страницу обзора вашего приложения, и его можно легко настроить. Лучшее решение для нового разработчика! Это доступно на GitHub.
iRate от demosthenese - аналогичное решение, но более чистое и поддерживает быстрое переключение приложений.
Используйте эти "готовые" решения вместо этого! Это должно сработать лучше, чем справиться с этим самостоятельно! Они включают документацию и примеры того, как настроить функции.
Кроме того, я думаю, что Apple не рекомендует использовать AlertViews для того, чтобы пользователи оценивали приложения. Используйте инструменты, упомянутые ответственно. Не просите пользователей слишком быстро, и убедитесь, что вы включаете кнопку «навсегда»!
Если вы находитесь здесь для технического решения проблемы (т. Е. При запросе на запуск с кнопкой «навсегда»), вот обзор того, что вы должны сделать:
-(void)viewdidload{
//Access NSUSerDefaults and check a variable called launch
// launch's default value is 0
if (launch == 0) {
alert = [[UIAlertView alloc] initWithTitle:@"Rate!" message:@"You'll see this everytime you launch until you click Dismiss Forever" delegate:self cancelButtonTitle:@"Not Now" otherButtonTitles:@"Okay! ", @"Dismiss Alert and Don't Show it to me", nil ];
[alert show];
[alert release];
}
}
else
{
//nothing
}
//continue customizing
}
-(void)alertView:(UIAlertView *) alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 0)
//Assume this is the Okay Button
{
//Now use NSUserDefaults and set a variable called launch to 1
// the default value for launch should be 0
// now that its set to 1
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"ILoveAlertViews.com" ]];
}
if (buttonIndex == 1) {
//assume this is the dismiss button
//Now use NSUserDefaults and set a variable called launch to 2
//2 means that they never want to see it. The AlertView should not be called on the next launch
}
}