26

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

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

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

4

11 回答 11

26

非常简洁:

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

如果您想为开发人员发送到所有应用程序,请使用

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

这些适用于 iOS 4.1

另请参阅 如何链接到应用商店中的应用

于 2010-11-08T09:02:42.487 回答
19

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

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

于 2008-10-22T18:37:39.640 回答
16

我想出了如何直接进入 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]];
}
于 2009-09-03T17:18:35.437 回答
6

如果您想显示应用程序的详细信息而不是评论,您可以使用这样的 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 上对此进行了测试,并将立即将您重定向到 App Store 应用程序。

于 2013-04-17T08:15:17.797 回答
5

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

然后调用UIApplication openURL它。

于 2008-10-22T20:07:17.150 回答
2

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

前者直接打开App Store,后者会先打开MobileSafari,再打开App Store。

于 2009-01-13T01:56:05.267 回答
2

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

于 2010-10-04T19:41:00.783 回答
1

如果您不想获得 iTunes 的链接,您可以这样做。

  1. 在 AppStore 中选择您的应用
  2. 点击右上角的告诉朋友按钮。
  3. 通过电子邮件将链接发送给自己

我在 iTunes 链接没有的时候做过这项工作。

于 2008-11-05T21:07:15.640 回答
0

如果你有一个附属链接,并且你想在没有 Safari 的情况下直接打开 App Store 应用程序,你可以使用隐藏的 UIWebView 或 NSURLConnection。对于后者,请参阅这篇文章http://gamesfromwithin.com/handling-app-store-and-linkshare-links

于 2011-06-01T13:22:34.210 回答
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]];
}
于 2014-01-11T18:52:22.673 回答
-1

如果你只是发布你的应用程序......你还没有“应用程序 ID #”......所以这些方法都不起作用。

我不得不在我的 v1.0 中插入一个“非工作链接”……然后在我的 v1.1 更新中……添加了实际的链接和应用程序 ID #。

于 2010-08-03T04:25:55.377 回答