2011-09-21 4 views
7

自分のユーザーを自分のアプリケーション内のApp Storeの私のAppのレビューセクションに直接連れて行くことができるのだろうか?私のアプリケーション内からApp Storeを評価するために開こうとする

Safariでこれを開きたくない場合は、デバイス上のApp Storeアプリを直接開き、レビューページに移動してください。

私は以下を試しました。

しかし
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=437688779&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software"]]; 

、iTunesのアプリではなく、アプリストアを開くように見えるし、そしてちょうど「ストアに接続できない。安全な接続を確立できませんでした」というエラーを与えるクリック。

アイデア?

答えて

18

this blog:

- (IBAction)gotoReviews:(id)sender 
{ 
    NSString *str = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa"; 
    str = [NSString stringWithFormat:@"%@/wa/viewContentsUserReviews?", str]; 
    str = [NSString stringWithFormat:@"%@type=Purple+Software&id=", str]; 

    // Here is the app id from itunesconnect 
    str = [NSString stringWithFormat:@"%@yourAppIDHere", str]; 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]; 
} 
+0

に変更してください。とてもありがとうございます。 –

+0

文字列を追加しているときに - [NSString stringWithFormat:]を使用しないでください。 - [NSString stringByAppendingString:]は、同じ、しかしはるかに高速かつ効率的に(バッファなどはありません)行います。 –

+0

URLに ".../viewContentsUserReviews?id = ..."が表示されるように、 "type = ..."部分をスキップできます。これは、iOS 7.1.2および8.0.2(実デバイスでテスト済み)で動作します。 –

4

itms://リンクを作成し、here'sを作成すると便利です。プロトコルをhttp(s):からitms:(または新しい方法と思われるitms-apps:)に変更してください。

+0

こんにちは、私もそれを試してみました。申し訳ありませんが、言及すべきでした。また、動作しません –

+0

プロトコルを 'http(s):'から 'itms:' –

1

に見られるようにあなたは私のためにうまく機能し、クラスiRateを使用することができませんでした。

22

hereと記載されているように、iOS 7.0に言及する価値のある問題があるようです。 Appiratorがソースの問題をどのように処理したかを見ることができますhere

基本的に、あなたはそうと、異なっ7.0ユーザを処理する必要があります(最初の行が受け入れられた溶液と同じで、追加の文字列がちょうど同じ行にある。)

NSString *str = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=yourAppIDHere"; 
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { 
    str = @"itms-apps://itunes.apple.com/app/idyourAppIDHere"; 
} 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]; 

更新日2015年8月19日

上記のURLはiOS 8.0では機能しません。すべてのiOSバージョンの更新されたコードケータリングは次のようになります。

NSString *str; 
float ver = [[[UIDevice currentDevice] systemVersion] floatValue]; 
if (ver >= 7.0 && ver < 7.1) { 
    str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",appID]; 
} else if (ver >= 8.0) { 
    str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software",appID]; 
} else { 
    str = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@",appID]; 
} 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]; 

出典:Appirator


アップデート2017年11月14日

iOSの10.3から、我々はSKStoreReviewControllerを使用して審査をリクエストすることができ、実際にあなたのアプリから離れてナビゲートするのではなく、あなたのアプリできちんとした小さなpopoverを開きます:

if (@available(iOS 10.3, *)) { 
    [SKStoreReviewController requestReview]; 
    return; 
} 
+0

完璧な答えですので、更新されました:) –

1

使用この: - これはまた、あなたを助けて@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@";