Как подключиться к приложениям в магазине приложений

Я создаю бесплатную версию своей игры для iPhone. Я хочу иметь кнопку внутри бесплатной версии, которая забирает людей в платную версию в магазине приложений. Если я использую стандартную ссылку

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8

iPhone сначала открывает Safari, а затем магазин приложений. Я использовал другие приложения, которые открывают магазин приложений напрямую, поэтому я знаю, что это возможно.

Любые идеи? Что такое URL-схема для магазина приложений?

Ответ 1

Отредактировано 2016-02-02

Начиная с iOS 6, был представлен класс SKStoreProductViewController. Вы можете связать приложение, не выходя из приложения. Фрагмент кода в Swift 3.x/2.x и Objective-C находится здесь.

Объект SKStoreProductViewController представляет хранилище, которое позволяет Пользователь может купить другие носители в App Store. Например, ваше приложение может отобразить магазин, чтобы позволить пользователю приобрести другое приложение.


Новости и объявления для разработчиков Apple.

Привлекайте клиентов прямо к вашему приложению в App Store с помощью iTunes Links С помощью ссылок iTunes вы можете предоставить клиенты с простым способом доступа ваши приложения в App Store напрямую с вашего сайта или маркетинга кампания. Создание ссылки на iTunes простой и может быть сделан для прямого клиенты либо одного приложения, все ваши приложения или конкретное приложение с указано название вашей компании.

Чтобы отправить клиентов на конкретный применение: http://itunes.com/apps/appname

Отправлять клиенты к списку приложений, которые у вас есть в App Store: http://itunes.com/apps/developername

Чтобы отправить клиентов на конкретное приложение с названием вашей компании, включенным в URL: http://itunes.com/apps/developername/appname


Дополнительные примечания:

Вы можете заменить http:// на itms:// или itms-apps://, чтобы избежать перенаправлений.

Обратите внимание,, что itms:// отправит пользователя в магазин iTunes и itms-apps:// и отправит его в App Store!

Для получения информации о наименовании см. Apple QA1633:

https://developer.apple.com/library/content/qa/qa1633/_index.html.

Изменить (по состоянию на январь 2015 года):

Ссылки itunes.com/apps должны быть обновлены до appstore.com/apps. См. QA1633 выше, который был обновлен. В новом QA1629 предлагаются следующие шаги и код для запуска магазина из приложения:

  1. Запустите iTunes на своем компьютере.
  2. Найдите элемент, на который хотите сослаться.
  3. Щелкните правой кнопкой мыши или щелкните, удерживая клавишу Control, на имени элемента в iTunes, затем выберите "Скопировать URL-адрес iTunes Store" во всплывающем меню.
  4. В своем приложении создайте объект NSURL со скопированным URL-адресом iTunes, а затем передайте этот объект методу UIApplication: openURL: открыть свой элемент в App Store.

Пример кода:

NSString *iTunesLink = @"itms://itunes.apple.com/app/apple-store/id375380948?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

Swift 4.2

   let urlStr = "itms-apps://itunes.apple.com/app/apple-store/id375380948?mt=8"
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(URL(string: urlStr)!, options: [:], completionHandler: nil)

    } else {
        UIApplication.shared.openURL(URL(string: urlStr)!)
    }

Ответ 2

Если вы хотите открыть приложение непосредственно в App Store, вы должны использовать:

ITMS-приложения://...

Таким образом, он будет непосредственно открывать приложение App Store на устройстве, вместо того, чтобы сначала идти в iTunes, а затем открывать App Store (при использовании только itms://)

Надеюсь, что это поможет.


EDIT: APR, 2017. itms-apps://действительно работает снова в iOS10. Я протестировал его.

EDIT: апрель, 2013 год. Это больше не работает в iOS5 и выше. Просто используйте

https://itunes.apple.com/app/id378458261

и переадресаций больше нет.

Ответ 3

Чтобы быть предельно лаконичным:

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

Если вы хотите отправить все приложения разработчику, используйте

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

Эти работы для iOS 4.1

Если вы хотите установить связь с приложениями разработчика, а имя разработчика имеет знаки препинания или пробелы (например, Development Company, LLC), введите свой URL-адрес следующим образом:

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

В противном случае он возвращает "Этот запрос не может быть обработан" в iOS 4.3.3

Ответ 4

Начиная с iOS 6, можно сделать это с помощью класса SKStoreProductViewController.

Swift 3.x:

func openStoreProductWithiTunesItemIdentifier(identifier: String) {
    let storeViewController = SKStoreProductViewController()
    storeViewController.delegate = self

    let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier]
    storeViewController.loadProduct(withParameters: parameters) { [weak self] (loaded, error) -> Void in
        if loaded {
            // Parent class of self is UIViewContorller
            self?.present(storeViewController, animated: true, completion: nil)
        }
    }
}

func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
    viewController.dismiss(animated: true, completion: nil)
}
// Usage:
openStoreProductWithiTunesItemIdentifier(identifier: "13432")

Вы можете получить идентификатор элемента itunes приложения следующим образом: (вместо статического)

Swift 3.2

var appID: String = infoDictionary["CFBundleIdentifier"]
var url = URL(string: "http://itunes.apple.com/lookup?bundleId=\(appID)")
var data = Data(contentsOf: url!)
var lookup = try? JSONSerialization.jsonObject(with: data!, options: []) as? [AnyHashable: Any]
var appITunesItemIdentifier = lookup["results"][0]["trackId"] as? String
openStoreProductViewController(withITunesItemIdentifier: Int(appITunesItemIdentifier!) ?? 0)

Swift 2.x:

func openStoreProductWithiTunesItemIdentifier(identifier: String) {
    let storeViewController = SKStoreProductViewController()
    storeViewController.delegate = self

    let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier]
    storeViewController.loadProductWithParameters(parameters) { [weak self] (loaded, error) -> Void in
        if loaded {
            // Parent class of self is UIViewContorller
            self?.presentViewController(storeViewController, animated: true, completion: nil)
        }
    }
}

func productViewControllerDidFinish(viewController: SKStoreProductViewController) {
    viewController.dismissViewControllerAnimated(true, completion: nil)
}
// Usage
openStoreProductWithiTunesItemIdentifier("2321354")

цель-C:

static NSInteger const kAppITunesItemIdentifier = 324684580;
[self openStoreProductViewControllerWithITunesItemIdentifier:kAppITunesItemIdentifier];

- (void)openStoreProductViewControllerWithITunesItemIdentifier:(NSInteger)iTunesItemIdentifier {
    SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init];

    storeViewController.delegate = self;

    NSNumber *identifier = [NSNumber numberWithInteger:iTunesItemIdentifier];

    NSDictionary *parameters = @{ SKStoreProductParameterITunesItemIdentifier:identifier };
    UIViewController *viewController = self.window.rootViewController;
    [storeViewController loadProductWithParameters:parameters
                                   completionBlock:^(BOOL result, NSError *error) {
                                       if (result)
                                           [viewController presentViewController:storeViewController
                                                              animated:YES
                                                            completion:nil];
                                       else NSLog(@"SKStoreProductViewController: %@", error);
                                   }];

    [storeViewController release];
}

#pragma mark - SKStoreProductViewControllerDelegate

- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
    [viewController dismissViewControllerAnimated:YES completion:nil];
}

Вы можете получить kAppITunesItemIdentifier (идентификатор элемента приложения itunes) следующим образом: (вместо статического)

NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];
    NSString* appID = infoDictionary[@"CFBundleIdentifier"];
    NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?bundleId=%@", appID]];
    NSData* data = [NSData dataWithContentsOfURL:url];
    NSDictionary* lookup = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
    NSString * appITunesItemIdentifier =  lookup[@"results"][0][@"trackId"]; 
    [self openStoreProductViewControllerWithITunesItemIdentifier:[appITunesItemIdentifier intValue]];

Ответ 5

Летом 2015 года и далее...

-(IBAction)clickedUpdate
{
    NSString *simple = @"itms-apps://itunes.apple.com/app/id1234567890";
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:simple]];
}

заменить "id1234567890" на "id" и "ваш десятизначный номер"

  • Это отлично работает на всех устройствах.

  • Это действительно прямо в хранилище приложений, без переадресаций.

  • ОК для всех национальных магазинов.

  • Верно, что вы должны перейти к использованию loadProductWithParameters, , но, если цель ссылки - обновить приложение, на котором вы находитесь, внутри: it возможно, лучше использовать этот "старомодный" подход.

Ответ 6

Apple только что объявила URL-адреса appstore.com.

https://developer.apple.com/library/ios/qa/qa1633/_index.html

Существует три типа коротких ссылок в App Store в двух формах: один для приложений для iOS, другой для Mac Apps:

Название компании

iOS: http://appstore.com/, например http://appstore.com/apple

Mac: http://appstore.com/mac/, например http://appstore.com/mac/apple

Имя приложения

iOS: http://appstore.com/, например http://appstore.com/keynote

Mac: http://appstore.com/mac/, например http://appstore.com/mac/keynote

Приложение от компании

iOS: http://appstore.com//например, http://appstore.com/apple/keynote

Mac: http://appstore.com/mac//например, http://appstore.com/mac/apple/keynote

Большинство компаний и приложений имеют каноническую короткую ссылку на App Store. Этот канонический URL-адрес создается путем изменения или удаления определенных символов (многие из которых являются незаконными или имеют особое значение в URL-адресе (например, "&" )).

Чтобы создать короткую ссылку в App Store, примените следующие правила к названию вашей компании или приложения:

Удалить все пробелы

Преобразование всех символов в нижний регистр

Удалите все эмблемы (©), товарный знак (™) и зарегистрированные знаки (®)

Замените амперсанды ( "&" ) на "и"

Удалите большинство знаков препинания (см. листинг 2 для набора)

Заменить акцентированные и другие "украшенные" символы (ü, å и т.д.) с их элементарным символом (u, a и т.д.)

Оставьте все остальные символы как есть.

Листинг 2 Символы пунктуации, которые необходимо удалить.

!.?

¡ "# $% '() * +, -/:; <= > ¿@[] ^ _` {|} ~

Ниже приведены примеры демонстрации конверсии.

Магазин приложений

Примеры названия компании

Gameloft = > http://appstore.com/gameloft

Activision Publishing, Inc. = > http://appstore.com/activisionpublishinginc

Chen Фотография и программное обеспечение = > http://appstore.com/chensphotographyandsoftware

Примеры имен приложений

Ocarina = > http://appstore.com/ocarina

Где мой Перри? = > http://appstore.com/wheresmyperry

Brain Challenge ™ = > http://appstore.com/brainchallenge

Ответ 7

Этот код создает ссылку в App Store на iOS

NSString *appName = [NSString stringWithString:[[[NSBundle mainBundle] infoDictionary]   objectForKey:@"CFBundleName"]];
NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]];

Замените itms-приложения на http на Mac:

NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"http:/itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]]; 

Открыть URL-адрес на iOS:

[[UIApplication sharedApplication] openURL:appStoreURL];

Mac:

[[NSWorkspace sharedWorkspace] openURL:appStoreURL];

Ответ 9

Чтобы иметь прямую ссылку без перенаправления:

  • Используйте средство создания ссылок iTunes http://itunes.apple.com/linkmaker/, чтобы получить реальную прямую ссылку.
  • Замените http:// на itms-apps://
  • Откройте ссылку с [[UIApplication sharedApplication] openURL:url];

Будьте осторожны, эти ссылки работают только на реальных устройствах, а не на симуляторе.

Источник: https://developer.apple.com/library/ios/#qa/qa2008/qa1629.html

Ответ 10

Это отлично работало для меня, используя только APP ID:

 NSString *urlString = [NSString stringWithFormat:@"http://itunes.apple.com/app/id%@",YOUR_APP_ID];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

Число перенаправлений - ZERO.

Ответ 11

В нескольких ответах предлагается использовать 'itms' или 'itms-apps', но эта практика специально не рекомендована Apple. Они предлагают только следующий способ открыть App Store:

Листинг 1 Запуск App Store из приложения iOS

NSString *iTunesLink = @"https://itunes.apple.com/us/app/apple-store/id375380948?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

См. https://developer.apple.com/library/ios/qa/qa1629/_index.html последний обновленный март 2014 года с этого ответа.

Для приложений, поддерживающих iOS 6 и выше, Apple предлагает механизм приложения для представления App Store: SKStoreProductViewController

- (void)loadProductWithParameters:(NSDictionary *)parameters completionBlock:(void (^)(BOOL result, NSError *error))block;

// Example:
SKStoreProductViewController* spvc = [[SKStoreProductViewController alloc] init];
spvc.delegate = self;
[spvc loadProductWithParameters:@{ SKStoreProductParameterITunesItemIdentifier : @(364709193) } completionBlock:^(BOOL result, NSError *error){ 
    if (error)
        // Show sorry
    else
        // Present spvc
}];

Обратите внимание, что на iOS6 блок завершения может не вызываться, если есть ошибки. Это, похоже, ошибка, которая была решена в iOS 7.

Ответ 12

Если вы хотите установить связь с приложениями разработчика, а имя разработчика имеет знаки препинания или пробелы (например, Development Company, LLC), введите свой URL-адрес следующим образом:

itms-apps://itunes.com/apps/DevelopmentCompanyLLC

В противном случае он возвращает "Этот запрос не может быть обработан" в iOS 4.3.3

Ответ 13

Вы можете получить ссылку на определенный элемент в магазине приложений или iTunes через создателя ссылок по адресу: http://itunes.apple.com/linkmaker/

Ответ 14

Это работает и напрямую связывается с ios5

NSString *iTunesLink = @"http://itunes.apple.com/app/baseball-stats-tracker-touch/id490256272?mt=8";  
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

Ответ 15

Это простой и короткий способ перенаправления/соединения другого существующего приложения в магазине приложений.

 NSString *customURL = @"http://itunes.apple.com/app/id951386316";

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:customURL]])
 {
       [[UIApplication sharedApplication] openURL:[NSURL URLWithString:customURL]];
 } 

Ответ 16

Для Xcode 9.1 и Swift 4:

  1. Импорт StoreKit:
import StoreKit

2. соответствовать протоколу

SKStoreProductViewControllerDelegate

3. Реализовать протокол

func openStoreProductWithiTunesItemIdentifier(identifier: String) {
    let storeViewController = SKStoreProductViewController()
    storeViewController.delegate = self

    let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier]
    storeViewController.loadProduct(withParameters: parameters) { [weak self] (loaded, error) -> Void in

        if loaded {
            // Parent class of self is UIViewContorller
            self?.present(storeViewController, animated: true, completion: nil)
        }
    }   
}

3,1

func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
    viewController.dismiss(animated: true, completion: nil)
}
  1. Как пользоваться:
openStoreProductWithiTunesItemIdentifier(identifier: "here_put_your_App_id")

Замечания:

Очень важно ввести точный идентификатор вашего приложения. Потому что это причина ошибки (не показывать журнал ошибок, но ничего не работает из-за этого)

Ответ 17

Я могу подтвердить, что если вы создаете приложение в iTunes connect, вы получаете свой идентификатор приложения перед отправкой.

Таким образом..

itms-apps://itunes.apple.com/app/id123456789

NSURL *appStoreURL = [NSURL URLWithString:@"itms-apps://itunes.apple.com/app/id123456789"];
    if ([[UIApplication sharedApplication]canOpenURL:appStoreURL])
        [[UIApplication sharedApplication]openURL:appStoreURL];

Работает с лечением

Ответ 18

Создание ссылки может стать сложной проблемой при поддержке нескольких ОС и нескольких платформ. Например, WebObjects не поддерживается в iOS 7 (некоторые из них), некоторые созданные вами ссылки откроют другой магазин страны, а затем пользователь и т.д.

Существует библиотека с открытым исходным кодом, называемая iLink, которая может вам помочь.

Преимущества этой библиотеки заключаются в том, что ссылки будут найдены и созданы во время выполнения (библиотека проверит идентификатор приложения и ОС, на котором он запущен, и выяснит, какая ссылка должна быть создано). Лучшее в этом состоит в том, что вам не нужно настраивать почти все, прежде чем использовать его, чтобы оно было безошибочным и будет работать всегда. Это замечательно, если у вас мало целей в одном проекте, поэтому вам не нужно запоминать, какой идентификатор приложения или ссылку использовать. Эта библиотека также предложит пользователю обновить приложение, если в магазине есть новая версия (она встроена, и вы отключите ее простым флагом), непосредственно указывающую на страницу обновления для приложения, если пользователь согласен.

Скопируйте 2 файла библиотеки в ваш проект (iLink.h и iLink.m).

На вашем appDelegate.m:

#import "iLink.h"

+ (void)initialize
{
    //configure iLink
    [iLink sharedInstance].globalPromptForUpdate = YES; // If you want iLink to prompt user to update when the app is old.
}

и в том месте, где вы хотите открыть страницу рейтинга, например, просто используйте:

[[iLink sharedInstance] iLinkOpenAppPageInAppStoreWithAppleID: YOUR_PAID_APP_APPLE_ID]; // You should find YOUR_PAID_APP_APPLE_ID from iTunes Connect 

Не забудьте импортировать iLink.h в тот же файл.

Существует очень хороший документ для всей библиотеки, а пример - для iPhone и Mac.

Ответ 19

Не менее iOS 9 и выше

  • Открыть непосредственно в App Store

Приложение

itms-apps://itunes.apple.com/app/[appName]/[appID]

Список приложений для разработчиков

itms-apps://itunes.apple.com/developer/[developerName]/[developerID]

Ответ 20

Согласно последнему документу Apple, вам необходимо использовать

appStoreLink = "https://itunes.apple.com/us/app/apple-store/id375380948?mt=8"  

или же

SKStoreProductViewController 

Ответ 21

Если у вас есть идентификатор магазина приложений, вам лучше его использовать. Особенно, если вы в будущем можете изменить название приложения.

http://itunes.apple.com/app/id378458261

Если у вас нет идентификатора магазина приложений, вы можете создать URL-адрес на основе этой документации https://developer.apple.com/library/ios/qa/qa1633/_index.html

+ (NSURL *)appStoreURL
{
    static NSURL *appStoreURL;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        appStoreURL = [self appStoreURLFromBundleName:[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"]];
    });
    return appStoreURL;
}

+ (NSURL *)appStoreURLFromBundleName:(NSString *)bundleName
{
    NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.com/app/%@", [self sanitizeAppStoreResourceSpecifier:bundleName]]];
    return appStoreURL;
}

+ (NSString *)sanitizeAppStoreResourceSpecifier:(NSString *)resourceSpecifier
{
    /*
     https://developer.apple.com/library/ios/qa/qa1633/_index.html
     To create an App Store Short Link, apply the following rules to your company or app name:

     Remove all whitespace
     Convert all characters to lower-case
     Remove all copyright (©), trademark (™) and registered mark (®) symbols
     Replace ampersands ("&") with "and"
     Remove most punctuation (See Listing 2 for the set)
     Replace accented and other "decorated" characters (ü, å, etc.) with their elemental character (u, a, etc.)
     Leave all other characters as-is.
     */
    resourceSpecifier = [resourceSpecifier stringByReplacingOccurrencesOfString:@"&" withString:@"and"];
    resourceSpecifier = [[NSString alloc] initWithData:[resourceSpecifier dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] encoding:NSASCIIStringEncoding];
    resourceSpecifier = [resourceSpecifier stringByReplacingOccurrencesOfString:@"[!¡\"#$%'()*+,-./:;<=>¿[email protected]\\[\\]\\^_`{|}~\\s\\t\\n]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, resourceSpecifier.length)];
    resourceSpecifier = [resourceSpecifier lowercaseString];
    return resourceSpecifier;
}

Проходит этот тест

- (void)testAppStoreURLFromBundleName
{
    STAssertEqualObjects([AGApplicationHelper appStoreURLFromBundleName:@"Nuclear™"].absoluteString, @"itms-apps://itunes.com/app/nuclear", nil);
    STAssertEqualObjects([AGApplicationHelper appStoreURLFromBundleName:@"Magazine+"].absoluteString, @"itms-apps://itunes.com/app/magazine", nil);
    STAssertEqualObjects([AGApplicationHelper appStoreURLFromBundleName:@"Karl & CO"].absoluteString, @"itms-apps://itunes.com/app/karlandco", nil);
    STAssertEqualObjects([AGApplicationHelper appStoreURLFromBundleName:@"[Fluppy fuck]"].absoluteString, @"itms-apps://itunes.com/app/fluppyfuck", nil);
    STAssertEqualObjects([AGApplicationHelper appStoreURLFromBundleName:@"Pollos Hérmanos"].absoluteString, @"itms-apps://itunes.com/app/polloshermanos", nil);
    STAssertEqualObjects([AGApplicationHelper appStoreURLFromBundleName:@"Niños and niñas"].absoluteString, @"itms-apps://itunes.com/app/ninosandninas", nil);
    STAssertEqualObjects([AGApplicationHelper appStoreURLFromBundleName:@"Trond, MobizMag"].absoluteString, @"itms-apps://itunes.com/app/trondmobizmag", nil);
    STAssertEqualObjects([AGApplicationHelper appStoreURLFromBundleName:@"!__SPECIAL-PLIZES__!"].absoluteString, @"itms-apps://itunes.com/app/specialplizes", nil);
}

Ответ 22

Несмотря на то, что здесь много ответов, ни одно из предложений по связыванию с приложениями разработчиков больше не работает.

Когда я последний раз посещал, мне удалось заставить его работать в формате:

itms-apps://itunes.apple.com/developer/developer-name/id123456789

Это больше не работает, но удаление имени разработчика делает:

itms-apps://itunes.apple.com/developer/id123456789

Ответ 23

Попробуйте этот путь

http://itunes.apple.com/lookup?id= "ваш идентификатор приложения здесь" return json.От этого найдите ключ " trackViewUrl" и Значение - желаемый URL. используйте этот url (просто замените https:// на itms-apps://). Это работает отлично.

Например, если ваш идентификатор приложения - xyz, перейдите по этой ссылке http://itunes.apple.com/lookup?id=xyz

Затем найдите url для ключа " trackViewUrl". Это URL-адрес вашего приложения в магазине приложений и использование этого URL-адреса в xcode. Попробуйте это

NSString *iTunesLink = @"itms-apps://itunes.apple.com/us/app/Your app name/id Your app ID?mt=8&uo=4";
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

Спасибо

Ответ 24

он откроет App Store напрямую

NSString *iTunesLink = @"itms-apps://itunes.apple.com/app/ebl- 
skybanking/id1171655193?mt=8";

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