web-dev-qa-db-ja.com

アプリケーションから直接Appstoreアプリを起動するにはどうすればよいですか?

私は今、アプリから直接iTunesストアを起動するいくつかのアプリを使用しました。 2.1 iPod2Gでも使用しています。

2.1には、アプリストアのリンクがサファリで機能しないというバグがあることは知っていますが、どういうわけか、人々はサファリを介さずに直接アプリストアを起動しています。

これはどうやるんですか?文書化されていないopenURL機能ですか?

26
Jeff

ITunesから、アプリのアイコンをデスクトップにドラッグします。これにより、直接使用できるリンクが表示されます(たとえば、 http://phobos.Apple.com/WebObjects/ MZStore.woa/wa/viewSoftware?id = 284036524&mt = 8 デスクトップとiPhoneの両方で、クロスワードパズルに対してAppStoreを起動します。

これをNSURLにポップし、openURLを呼び出します。

19
Ben Gottlieb

非常に簡潔にするために:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://iTunes.com/apps/appname"]];

開発者向けのすべてのアプリに送信する場合は、

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://iTunes.com/apps/developername"]];

これらはiOS4.1で機能します

関連項目 アプリストアのアプリにリンクする方法

26
Intentss

AppStoreのアプリのレビューページに直接アクセスする方法を見つけました。

基本的には以下のように行われていますので、お気軽に私のブログを読んでください 投稿 それについて。

- (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:@"%@289382458", str]; 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
}
16
epatel

レビューの代わりにアプリケーションの詳細を表示したい場合は、次のようなURLを使用できます。

NSString *appId    = @"app id";
NSString *endPoint = [NSString stringWithFormat:@"phobos.Apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=%@&mt=8", appId];
NSString *link     = [NSString stringWithFormat:@"itms-apps://%@", endPoint];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:link]];

IOS 6.1を搭載したiPhoneでこれをテストしたところ、すぐにAppStoreアプリにリダイレクトされます。

6
NielsKoole

Ben Gottliebは正しいですが、URLを取得するより速い方法があります。iTunesの任意のアプリケーションアイコンを右クリックして、[iTunes StoreURLをコピー]を選択できます。

次に、その上でUIApplication openURLを呼び出します。

5
Marco

AppIDは、itunesconnect.Apple.comの「アプリケーションの管理」から取得できます。

2
Eugene

「iTunes.Apple.com」ではなく「phobos.Apple.com」と表示されていることを確認してください

前者はAppStoreを直接開き、後者は最初にMobileSafariを開き、次にAppStoreを開きます。

2
matt

ITunesのリンクを取得したくない場合は、これを行うことができます。

  1. appStoreでアプリを選択します
  2. 右上の[友達に教える]ボタンをクリックします。
  3. リンクを自分宛てにメールで送信

私はiTunesリンクがそうしなかった時にこの仕事をしました。

1
Jamey McElveen

これが私が使用し、言及されたさまざまなiOSバージョンに対してテストしたコードです。明らかに、顧客IDを自分のものに変更します。

- (void)showOurAppsInAppStore
{        
    NSString *searchUrl = nil;
    // iPad
    if ([DeviceController isDeviceAnIpad]) {
        searchUrl = @"itms-apps://iTunes.Apple.com/us/artist/seligman-ventures-ltd/id326161338";
    }
    // iPhone / iPod Touch
    else {
        // iOS 7+
        if ([DeviceController isDeviceOperatingSystemAtleast:@"7.0"]) {
            searchUrl = @"itms-apps://iTunes.Apple.com/artist/seligman-ventures-ltd/id326161338";
        }
        // iOS 6
        else if ([DeviceController isDeviceOperatingSystemAtleast:@"6.0"]) {
            searchUrl = @"itms-apps://ax.iTunes.Apple.com/artist/seligman-ventures-ltd/id326161338";
        }
        // Pre iOS 6
        else {
            NSString *companyName = @"Seligman Ventures";
            searchUrl = [NSString stringWithFormat:@"http://phobos.Apple.com/WebObjects/MZSearch.woa/wa/search?WOURLEncoding=ISO8859_1&lang=1&output=lm&country=US&term=%@&media=software", [companyName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        }
    }

    [[UIApplication sharedApplication] openURL: [NSURL URLWithString:searchUrl]];
}
0

アフィリエイトリンクがあり、途中でSafariを使用せずにApp Storeアプリを直接開きたい場合は、非表示のUIWebViewまたはNSURLConnectionを使用できます。後者については、この投稿を参照してください http://gamesfromwithin.com/handling-app-store-and-linkshare-links

0
Alexei Sholik