Click here to Skip to main content
13,151,848 members (58,633 online)
Click here to Skip to main content
Add your own
alternative version


6 bookmarked
Posted 27 Jul 2011

Remind review in iPhone apps

, 12 Dec 2013
Rate this:
Please Sign up or sign in to vote.
How to remind review in iPhone App


In iPhone apps, we often need to remind the user to review/rate the app in iTunes. This sample code will demo a simple solution.

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface CloudReview : NSObject {
    int m_appleID;
-(void) reviewFor:(int)appleID;
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;
#import "CloudReview.h"

@implementation CloudReview
static CloudReview* _sharedReview = nil;
    @synchronized([CloudReview class])
        if (!_sharedReview)
            [[self alloc] init];
        return _sharedReview;
    return nil;
    @synchronized([CloudReview class])
        NSAssert(_sharedReview == nil, 
            @"Attempted to allocate a second instance of a singleton.");
        _sharedReview = [super alloc];
        return _sharedReview;
    return nil;
    m_appleID = appleID;
    BOOL neverRate = [[NSUserDefaults standardUserDefaults] boolForKey:@"neverRate"];
    if(neverRate != YES) {
        //Show alert here
        UIAlertView *alert;
        alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"rate_title",@"Rate My Appication")
                     message:NSLocalizedString(@"rate_main",@"Please Rate my Application")
                     delegate: self
                     otherButtonTitles: NSLocalizedString(@"rate_now",@"Rate Now"),
                 NSLocalizedString(@"rate_never",@"Never Rate"), nil];
        [alert show];
        [alert release];
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
    // Never Review Button
    if (buttonIndex == 2)
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"neverRate"];
    // Review Button
    else if (buttonIndex == 1)
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"neverRate"];
        NSString *str = [NSString stringWithFormat:
                @"itms-apps://" + 
                m_appleID ]; 
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

CloudReview was declared in my library, I always use it in my app. The solution pops a UIAlertView to remind the user and it will save the result in NSUserDefaults.

How to use

[[CloudReview sharedReview]reviewFor:395519376];

Just use this code. Maybe you will ask me, how do we get an AppleID?

In this link, we can see the number 428839866, which is the Apple ID. Or we can get it from iTunes Connect.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Cloud Hsu
Architect LPI
Taiwan Taiwan
CloudBox cross-platform framework. (iOS+ Android)
Github: cloudhsu
1. Super Baby Pig (iOS+Android)
2. God Lotto (iOS+Android)
2. Ninja Darts (iOS)
3. Fight Bingo (iOS)

You may also be interested in...


Comments and Discussions

Questionerror Pin
cruiserpaule23-Jan-13 4:42
membercruiserpaule23-Jan-13 4:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.170924.2 | Last Updated 12 Dec 2013
Article Copyright 2011 by Cloud Hsu
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid