iOS7 Review App

How to move to App Review site

App Store has feature which the user can write review of application.

iOS7, iOS8

By updating App Store application, we could not reach review site by code.
We can only move to app info web site Yell

Appirater

This is good library for reviewing.
In iOS6, open review page correctly, but in iOS7, open App Store(not review site, the user need one more step to access review site).

How to use?

There are a lot of explanations to use.
You need to copy Appirater.h, Appirater.m, AppiraterDelegate.h and other language file named xxx.lproj you want.

Code

[Appirater setAppId:@"YOUR_ITUNES_APP_ID"];
[Appirater setDaysUntilPrompt:7];
[Appirater setUsesUntilPrompt:5];
[Appirater setSignificantEventsUntilPrompt:-1];
[Appirater setTimeBeforeReminding:2];    // Days after selecting later
[Appirater setDebug:NO];                // Debug mode production should be NO
[Appirater appLaunched:YES];            // Launch when starting application

Detail

If you want to implement by yourself, we have 2 ideas of that

  • Introduce SKStoreProductViewController to show app store like view in your application
  • Use openURL of UIApplication

Code Example SKStoreProductViewController

SKStoreProductViewController seems to be valid in iOS6 too.

NSNumber *appId = [NSNumber numberWithInteger:YOUR_ITUNES_APP_ID]
SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init];
[storeViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:appId} completionBlock:nil];
storeViewController.delegate = self;  // SKStoreProductViewControllerDelegate
[self presentViewController:storeViewController animated:YES completion:^{
    // Open store view controller complete event  
}];

You need to implement SKStoreProductViewControllerDelegate

- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
}

Code Example using openURL of UIApplication for iOS7

This code is valid only iOS7

NSString *templateReviewURLiOS7 = @"itms-apps://itunes.apple.com/app/idAPP_ID";
NSString *reviewURL = [templateReviewURLiOS7 stringByReplacingOccurrencesOfString:@"APP_ID" withString:[NSString stringWithFormat:@"%@", @"YOUR_APP_ID"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:reviewURL]];

YOUR_APP_ID is product ID of your app in itunes.

* Be careful, emulator doesn’t work. You need to use real device to test.
To avoid emulator, you can see my other entry.

※ This also works in iOS8

Ref

Appirater
stackoverflow