如何直接从我的应用程序启动Appstore应用程序

时间:2008-10-22 18:24:42

标签: iphone app-store

我现在使用了几个应用程序直接从应用程序启动itunes商店。我甚至在2.1 iPod 2G上使用了一些。

我知道2.1中有一个错误阻止appstore链接在safari中工作,但不知何故人们直接启动appstore,甚至没有通过safari启动。

你是怎么做到的?它是一个未记录的openURL功能吗?

11 个答案:

答案 0 :(得分:26)

非常简洁:

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

如果您要向开发者发送所有应用,请使用

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

这些适用于iOS 4.1

另见 How to link to apps on the app store

答案 1 :(得分:19)

在iTunes中,将应用图标拖到桌面上,这会为您提供一个可以直接使用的链接(例如, http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284036524&mt=8在桌面上启动AppStore到填字游戏和iPhone)。

将其弹出到NSURL并在其上调用openURL。

答案 2 :(得分:16)

我想出了如何直接进入AppStore中应用的评论页面。

基本上如下所示,请随时阅读我的​​博客post

- (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]];
}

答案 3 :(得分:6)

如果您想显示应用程序的详细信息而不是评论,可以使用以下网址:

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上使用iOS 6.1对其进行了测试,并会立即将您重定向到App Store应用程序。

答案 4 :(得分:5)

Ben Gottlieb是对的,但有更快的方法来获取URL:您可以右键单击iTunes中的任何应用程序图标,然后选择“复制iTunes Store URL”。

然后在其上拨打UIApplication openURL

答案 5 :(得分:2)

确保它显示“phobos.apple.com”而不是“itunes.apple.com”

前者直接打开App Store,后者首先打开MobileSafari,然后打开App Store。

答案 6 :(得分:2)

您可以从itunesconnect.apple.com“管理您的应用程序”获取您的AppID

答案 7 :(得分:1)

如果您不想获取iTunes的链接,可以执行此操作。

  1. 在AppStore中选择您的应用
  2. 点击右上角的“告诉朋友”按钮。
  3. 通过电子邮件发送给自己的链接
  4. 我有这个工作,iTunes链接不会。

答案 8 :(得分:0)

如果您有联盟链接,并且您仍希望在没有Safari的情况下直接打开App Store应用程序,则可以使用隐藏的UIWebView或NSURLConnection。对于后者,请参阅此帖http://gamesfromwithin.com/handling-app-store-and-linkshare-links

答案 9 :(得分:0)

这是我使用的代码,并针对上面提到的各种iOS版本进行了测试。显然,将客户ID更改为您的客户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]];
}

答案 10 :(得分:-1)

如果你刚刚发布你的应用程序......你还没有“应用程序ID#”......所以这些方法都不会有效。

我必须在我的v1.0中插入“非工作链接”...然后在我的v1.1更新中...添加了实际的链接和应用ID#。