Я попытался открыть сообщение после того, как мое приложение открывается 5 раз и отправляет пользователя на сайт, если они нажмут «да», но по какой-то причине он не работает, может ли кто-нибудь помочь мне? им новичок, так я предполагаю, его довольно простую ошибку, вот мой код в приложении delegate.mПочему мое сообщение «Оцените мое приложение» не отправляет меня на сайт, когда я говорю «да»?
'@interface AppDelegate()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSInteger launchCount = [prefs integerForKey:@"launchCount"];
launchCount++;
[prefs setInteger:launchCount forKey:@"launchCount"];
return YES;
и это код в виде controller.m :
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSInteger launchCount = [prefs integerForKey:@"launchCount"];
if (launchCount ==5) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"like this app?" message:@"rate us on the app store!" delegate:nil cancelButtonTitle:@"no thanks" otherButtonTitles:@"yes", @"remind me later", nil];
[alert show];
}
}
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 1) {
//user hit remind later , so ignore
}
else if (buttonIndex == 2){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://facebook.com"]];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSInteger launchCount = [prefs integerForKey:@"launchCount"];
launchCount = 0;
[prefs setInteger:launchCount forKey:@"launchCount"];
}
}'
Я не знаю ответа на ваш вопрос, но несвязанный комментарий: это ваше намерение принять их через этот путь _every_ 5 запусков, если они нажмут Да? Если нет, прекратите сброс счетчика, когда они нажмут да (и если это так, перестаньте считывать значение счетчика, прежде чем сбросить его до 0, так как вам все равно, что это было до этого). – mah
Теперь, возможно, связано с вашей проблемой ... когда вы создаете предупреждение, вам нужно указать себя как делегата? Если нет, как должен быть достигнут метод 'alertView: clickedButtonAtIndex:'? – mah
Для решения проблемы вам необходимо использовать отладчик и установить контрольные точки на важных этапах. Например, правильно ли хранится «счет запуска»? – trojanfoe