iOS 跳轉App Store進行評分
阿新 • • 發佈:2021-07-25
iOS 跳轉App Store進行評分
1.前言
遭遇4.2.2把我逼得沒辦法了,啥功能都懟上去了
2.實現
在 viewdidload 或者 viewwillappear 中判斷是否需要顯示評分,因為SKStoreReviewController 一年最多三次,所以我就無恥點相隔四個月呼叫一次
NSDate *oldTime = [[NSUserDefaults standardUserDefaults]objectForKey:@"storeStarTime"]; if (oldTime) { //利用NSCalendar比較日期的差異 NSCalendar *calendar = [NSCalendar currentCalendar]; NSCalendarUnit unit = NSCalendarUnitMonth;//只比較月數差異 //比較的結果是NSDateComponents類物件 NSDateComponents *delta = [calendar components:unit fromDate:oldTime toDate:[NSDate date] options:0]; if (delta.month >= 4) { [self showStore]; } }else{ [[NSUserDefaults standardUserDefaults]setObject:[NSDate date] forKey:@"storeStarTime"]; }
喚起評分頁
-(void)showStore{ if (@available(iOS 10.3, *)) { if([SKStoreReviewController respondsToSelector:@selector(requestReview)]) {// iOS 10.3 以上支援 //防止鍵盤遮擋 [[UIApplication sharedApplication].keyWindow endEditing:YES]; [SKStoreReviewController requestReview]; }else{ NSString * nsStringToOpen = [NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"1573880428"];//替換為對應的APPID [[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen] options:@{} completionHandler:^(BOOL success) { }]; } } else { NSString * nsStringToOpen = [NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"1573880428"];//替換為對應的APPID [[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen] options:@{} completionHandler:^(BOOL success) { }]; } [[NSUserDefaults standardUserDefaults]setObject:[NSDate date] forKey:@"storeStarTime"]; }
本博文由博主根據資料或其他優秀博文整理而成,轉載請註明出處,謝謝!附上APP地址: 一閱閱讀有想看小說的小夥伴可以試下 支援換源 支援自定義書源