2015-10-16 14 views
9

Próbujesz zbudować aplikację tvOS i jednym z przypadków użycia, którą mam, jest możliwość połączenia i otwarcia innej aplikacji w sklepie Apple TV App Store bezpośrednio za pomocą kliknięcia przycisku. Czy ktoś może udostępnić fragment kodu, aby to umożliwić?Otwieranie sklepu Apple TV App Store

Odpowiedz

2

Niestety to nie jest możliwe z bieżącym TVOS.

iOS, jak zalecane przez firmę Apple w QA1629, chcielibyśmy zrobić:

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

Powyższy wniosek przechodzi przez Safari, która nie istnieje na tvOS. Dlatego nie zadziała.

Jednak na tvOS obsługiwane są także Custom URL Schemes, które mogą pomóc choć trochę.

+0

Na forach programistów 'tvOS' jest kilka postów użytkowników zadających to samo pytanie. Wszystkie posty kończą się tym samym z sugestią postu, aby zgłosić raport o błędzie na https://bugreport.apple.com. Zgłoszony błąd '23656992'. Być może im więcej błędów otrzyma jabłko, tym bardziej zwróci na nie swoją uwagę i da nam metodę, aby to zrobić. – jhelzer

9

tylko przetestowane na tvOS:

if let appStoreURL = NSURL(string: "https://itunes.apple.com/us/app/wee-puzzles/id1035425291?mt=8") { 
    UIApplication.sharedApplication().openURL(appStoreURL) 
} 

To działa i otwiera stronę App Store swojej aplikacji na Apple TV. Jest taki sam jak iOS.

+0

Nie działa na moim nowym Apple TV. Masz specjalną aplikację? – Idan

0

Tak, to działa! Po prostu skorzystaj z linku dostarczonego przez Apple link maker. Na przykład:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://geo.itunes.apple.com/fr/app/math-champions-jeux-calcul/id561572290?mt=8"]] 

nie należy modyfikować link usuwając języka lub nazwę aplikacji, jak można na iOS.

+0

Wydaje się jednak, że to nie działa na TvOS.Returns 1. Masz pojęcie, co może być nie tak? –

10

Zorientowałem się, sprawdzając wyjście konsoli urządzenia. Sztuką jest użycie schematu com.apple.TVAppStore zamiast itms-apps. Przykład (Swiss App Store):

com.apple.TVAppStore://itunes.apple.com/ch/app/youtube/id544007664?mt=8 

W rzeczywistości, system https również pracuje, ale jest następnie przekształcone com.apple.TVAppStore tak.

+0

Potwierdzam, że działa. –

+0

To też zadziałało dla mnie !! Adres URL, którego użyłem, to: "com.apple.TVAppStore: //itunes.apple.com/us/app/name-of-the-app/id1067674552?mt = 8 " – diegomen

+0

To nie działa na moim symulatorze 9/26/16 – GarySabo

0

Możesz użyć adresu URL otrzymanego z iTunes. Na przykład:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://geo.itunes.apple.com/fr/app/math-champions-jeux-calcul/id561572290?mt=8"]] 

Podobna do powyższych odpowiedzi. Aby jednak to zadziałało, Twoja aplikacja musi być skonfigurowana jako uniwersalny zakup dla iOS i tvOS, który jest bardzo łatwy do skonfigurowania: Universal Purchase of iOS and tvOS Apps.

Powiązane problemy