Jak połączyć się z aplikacjami w app store
Tworzę darmową wersję gry na iPhone ' a. Chcę mieć przycisk wewnątrz darmowej wersji, który przenosi ludzi do płatnej wersji w app store. Jeśli używam standardowego linku
Http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8
IPhone otwiera najpierw Safari, a następnie app store. Używałem innych aplikacji, które otwierają app store bezpośrednio, więc wiem, że jest to możliwe.
Jakieś pomysły? Co To jest schemat URL do app store?
25 answers
Data edycji: 2016-02-02
Począwszy od iOS 6 wprowadzono klasę SKStoreProductViewController . Możesz połączyć aplikację bez opuszczania jej. Fragment kodu w Swift 3.x / 2.x i Objective-C jest tutaj .
A skstoreproductviewcontroller Obiekt prezentuje sklep, który umożliwia użytkownik do zakupu innych multimediów ze sklepu App Store. Na przykład Twoja aplikacja może wyświetlić sklep, aby umożliwić użytkownikowi kup inną aplikację.
Z wiadomości i zapowiedzi dla programistów Apple.
Prowadź klientów bezpośrednio do swojej aplikacji w App Store z linkami iTunes Dzięki linkom iTunes możesz podać swoje klienci z łatwym dostępem Twoje aplikacje bezpośrednio w App Store z twojej strony lub marketingu kampanie. Tworzenie łącza iTunes jest proste i można je bezpośrednio klientów do jednej aplikacji, wszystkie swoich aplikacji, lub do konkretnej aplikacji z Twój Podana Nazwa firmy.
Aby wysłać klientów do określonego zastosowanie: http://itunes.com/apps/appname
Aby wysłać klientów do listy posiadanych aplikacji w App Store: http://itunes.com/apps/developername
Aby wysłać klientów do określonej aplikacji z nazwą Twojej firmy zawartą w URL: http://itunes.com/apps/developername/appname
Dodatkowe uwagi:
Możesz zastąpić http://
przez itms://
lub itms-apps://
, aby uniknąć przekierowań.
Należy pamiętać, że itms://
wyśle użytkownika do iTunes store i itms-apps://
z wyślij je do App Store!
Aby uzyskać informacje na temat nazewnictwa, zobacz Apple QA1633:
Https://developer.apple.com/library/content/qa/qa1633/_index.html .
Edycja (stan na Styczeń 2015):
Itunes.com/apps linki powinny być aktualizowane do appstore.com/apps. Zobacz QA1633 powyżej, który został zaktualizowany. Nowy QA1629 sugeruje te kroki i kod do uruchomienia sklepu z aplikacji:
- Uruchom iTunes na swoim komputerze.
- wyszukaj element, do którego chcesz link.
- Kliknij prawym przyciskiem myszy lub kliknij przycisk control na nazwę elementu w iTunes, a następnie wybierz "Skopiuj adres URL sklepu iTunes" z menu podręcznego.
- w aplikacji Utwórz obiekt
NSURL
z skopiowanym adresem URL iTunes, a następnie przekaż ten obiekt do metodyUIApplication
sopenURL
:, aby otworzyć element w aplikacji Sklep.
Przykładowy kod:
NSString *iTunesLink = @"itms://itunes.apple.com/app/apple-store/id375380948?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
IOS10+:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink] options:@{} completionHandler:nil];
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)!)
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-12 11:56:47
Jeśli chcesz otworzyć aplikację bezpośrednio w App Store, użyj:
Itms-apps://...
W ten sposób otworzy bezpośrednio aplikację App Store na urządzeniu, zamiast najpierw przejść do iTunes, a następnie tylko otworzyć sklep z aplikacjami (gdy używasz tylko itms://) Mam nadzieję, że to pomoże.EDYCJA: KWIECIEŃ, 2017. itms-apps: / / faktycznie działa ponownie w iOS10. Przetestowałem to.
EDYCJA: KWIECIEŃ 2013. To już nie działa w iOS5 i nowszych. Wystarczy użyć
https://itunes.apple.com/app/id378458261
I są koniec z przekierowaniami.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-24 06:42:59
Począwszy od iOS 6 właściwy sposób, aby to zrobić za pomocą klasy SKStoreProductViewController .
Swift 5.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)
}
}
}
private func productViewControllerDidFinish(viewController: SKStoreProductViewController) {
viewController.dismiss(animated: true, completion: nil)
}
// Usage:
openStoreProductWithiTunesItemIdentifier("1234567")
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")
Możesz uzyskać identyfikator itunes aplikacji w następujący sposób: (zamiast statycznego)
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")
Objective-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];
}
Możesz uzyskać
kAppITunesItemIdentifier
(identyfikator itunes aplikacji) jak to: (zamiast statycznego)
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]];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-30 05:41:25
Apple właśnie ogłosiło appstore.com URL.
Https://developer.apple.com/library/ios/qa/qa1633/_index.html
[[0]} istnieją trzy rodzaje krótkich linków do App Store, w dwóch formach, jeden dla aplikacji iOS, drugi dla aplikacji Mac:Nazwa Firmy
IOS: http://appstore.com/ na przykład http://appstore.com/apple
Mac: http://appstore.com/mac / na przykład, http://appstore.com/mac/apple
Nazwa Aplikacji
IOS: http://appstore.com/ na przykład http://appstore.com/keynote
Mac: http://appstore.com/mac/ na przykład http://appstore.com/mac/keynote
App by Company
IOS: http://appstore.com / / na przykład http://appstore.com/apple/keynote
Mac: http://appstore.com/mac / / na przykład, http://appstore.com/mac/apple/keynote
Większość firm i aplikacji ma Canonical App Store Krótki Link. Ten kanoniczny adres URL jest tworzony przez zmianę lub usunięcie pewnych znaków (z których wiele jest nielegalnych lub ma specjalne znaczenie w adresie URL (na przykład "&")).
Aby utworzyć krótki Link do App Store, zastosuj następujące zasady do nazwy firmy lub aplikacji:]}Usuń wszystkie spacje
Konwertuj wszystkie znaki na małe litery
Usuń wszystkie symbole praw autorskich ( © ), znaków towarowych ( ™ ) i zarejestrowanych znaków towarowych ( ® )
Zamień ampersands ("&") na " i "
Usuń większość interpunkcji (Zobacz Listing 2 dla zestawu)
Zastąp znaki akcentowane i inne "zdobione"(ü, å, itp.) z ich żywiołowym charakterem (u, a itp.)
Pozostaw wszystkie pozostałe znaki tak, jak jest.
Lista 2 znaków interpunkcyjnych, które należy usunąć.
!¡"#$%'()*+,-./:;¿?@[]^_`{|}~
Poniżej znajdują się kilka przykładów, aby zademonstrować konwersję, która ma miejsce.
App Store
Przykłady nazwy firmy
Gameloft = > http://appstore.com/gameloft
Activision Publishing, Inc. = > http://appstore.com/activisionpublishinginc
Fotografia i oprogramowanie = > http://appstore.com/chensphotographyandsoftware
Przykłady nazw aplikacji
Ocarina => http://appstore.com/ocarina
Gdzie mój Perry? = > http://appstore.com/wheresmyperry
Brain Challenge™ = > http://appstore.com/brainchallenge
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-14 17:50:18
Na lato 2015 r ...
-(IBAction)clickedUpdate
{
NSString *simple = @"itms-apps://itunes.apple.com/app/id1234567890";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:simple]];
}
Zastąp 'id1234567890' przez ' id ' i 'twój dziesięciocyfrowy numer'
-
To działa doskonale na wszystkich urządzeniach .
- [[4]}to idzie prosto do app store, bez przekierowań.
-
Jest OK dla wszystkich krajowych sklepów.
-
To prawda, że powinieneś przejść do używania
loadProductWithParameters
, ale jeśli celem linku jest aktualizacja aplikacji, w której się znajdujesz of: prawdopodobnie lepiej jest użyć tego "staromodnego" podejścia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55
Aby mieć bezpośredni link bez przekierowania:
- Użyj iTunes link maker http://itunes.apple.com/linkmaker/ aby uzyskać prawdziwy bezpośredni link
- Zastąp
http://
naitms-apps://
- Otwórz link za pomocą
[[UIApplication sharedApplication] openURL:url];
Uważaj, te linki działają tylko na rzeczywistych urządzeniach, Nie w symulatorze.
Źródło: https://developer.apple.com/library/ios/#qa/qa2008/qa1629.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-09 15:08:34
Ten kod generuje łącze App Store na iOS]}
NSString *appName = [NSString stringWithString:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"]];
NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]];
Zastąp itms-apps http na Macu:
NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"http:/itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]];
Otwórz adres URL na iOS:
[[UIApplication sharedApplication] openURL:appStoreURL];
Mac:
[[NSWorkspace sharedWorkspace] openURL:appStoreURL];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-09 15:10:26
Po prostu zmień "itunes" na "phobos" w linku aplikacji.
Http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8
Teraz otworzy bezpośrednio App Store
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-11 23:41:54
To działało dla mnie doskonale używając tylko APP ID:
NSString *urlString = [NSString stringWithFormat:@"http://itunes.apple.com/app/id%@",YOUR_APP_ID];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
Liczba przekierowań wynosi ZERO.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-16 06:59:48
Wiele odpowiedzi sugeruje używanie "itms" lub "itms-apps", ale ta praktyka nie jest szczególnie zalecana przez Apple. Oferują tylko następujący sposób otwarcia App Store:
Listing 1 uruchamianie App Store z aplikacji na iOS
NSString *iTunesLink = @"https://itunes.apple.com/us/app/apple-store/id375380948?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
Zobacz https://developer.apple.com/library/ios/qa/qa1629/_index.html Ostatnia aktualizacja marzec, 2014 od tej odpowiedzi.
[[3]}dla aplikacji obsługujących iOS 6 i nowsze, Apple oferuje mechanizm in-app dla prezentacja 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
}];
Zauważ, że w systemie iOS6 blok zakończenia może nie być wywołany, jeśli występują błędy. Wygląda na to, że jest to błąd, który został rozwiązany w systemie iOS 7.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-17 21:29:28
Jeśli chcesz połączyć się z aplikacjami dewelopera, a nazwa dewelopera ma znaki interpunkcyjne lub spacje (np.]}
itms-apps://itunes.com/apps/DevelopmentCompanyLLC
W przeciwnym razie zwraca "to żądanie nie może być przetworzone" na iOS 4.3.3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-09 00:10:43
Możesz uzyskać link do określonego artykułu w app store lub iTunes za pośrednictwem kreatora linków na: http://itunes.apple.com/linkmaker/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-09 15:08:48
To działa i bezpośrednio łączy w ios5
NSString *iTunesLink = @"http://itunes.apple.com/app/baseball-stats-tracker-touch/id490256272?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-09 15:06:51
Jest to prosty i krótki sposób przekierowania / linkowania innych istniejących aplikacji w app store.
NSString *customURL = @"http://itunes.apple.com/app/id951386316";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:customURL]])
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:customURL]];
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-09 06:09:54
Dla Xcode 9.1 i Swift 4:
- Import StoreKit:
import StoreKit
2.Conform the protocol
SKStoreProductViewControllerDelegate
3.Implementacja protokołu
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)
}
- Jak używać:
openStoreProductWithiTunesItemIdentifier(identifier: "here_put_your_App_id")
Uwaga:
Bardzo ważne jest, aby wprowadzić dokładny identyfikator aplikacji. Ponieważ ta przyczyna błędu (nie pokazuje dziennika błędów, ale nic nie działa dobrze z tego powodu)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-17 14:29:09
Wszystkie odpowiedzi są nieaktualne i nie działają; użyj poniższej metody.
Wszystkie aplikacje programisty:itms-apps://apps.apple.com/developer/developer-name/developerId
Pojedyncza aplikacja:itms-apps://itunes.apple.com/app/appId
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-16 19:37:40
Mogę potwierdzić, że jeśli utworzysz aplikację w iTunes connect, otrzymasz identyfikator aplikacji przed jej przesłaniem.
Dlatego..
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];
Działa smakołyk
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-17 23:32:21
Tworzenie łącza może stać się złożonym problemem podczas obsługi wielu systemów operacyjnych i wielu platform. Na przykład WebObjects nie jest obsługiwany na iOS 7( niektóre z nich), niektóre linki, które utworzysz, otworzyłyby inny sklep Krajowy, a następnie sklep użytkownika itp.
Istnieje biblioteka open source o nazwie iLink , która może Ci pomóc.
Zaletą tej biblioteki jest to, że linki zostaną znalezione i utworzone w czasie wykonywania (biblioteka sprawdzi ID aplikacji i system operacyjny, którym jest uruchomiony i zorientowałby się, jaki link powinien zostać utworzony). Najlepszym punktem jest to, że nie musisz konfigurować prawie niczego przed użyciem, aby było to wolne od błędów i działało zawsze. Jest to świetne również, jeśli masz kilka celów w tym samym projekcie, więc nie musisz pamiętać, który identyfikator aplikacji lub link użyć. Ta biblioteka również poprosi użytkownika, aby uaktualnić aplikację, jeśli istnieje nowa wersja w sklepie (to jest wbudowany i wyłączyć to za pomocą prostej flagi) bezpośrednio wskazując na Uaktualnij stronę aplikacji, Jeśli użytkownik wyrazi na to zgodę.
Skopiuj 2 pliki biblioteki do swojego projektu (iLink.h & iLink.m).
Na twoim 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.
}
I w miejscu, w którym chcesz otworzyć stronę oceny, na przykład użyj:
[[iLink sharedInstance] iLinkOpenAppPageInAppStoreWithAppleID: YOUR_PAID_APP_APPLE_ID]; // You should find YOUR_PAID_APP_APPLE_ID from iTunes Connect
Nie zapomnij zaimportować iLink.h W tym samym pliku.
Jest tam bardzo dobry doc dla całej biblioteki i przykładowe projekty dla iPhone i dla Mac.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-10 09:27:11
Co najmniej iOS 9 i powyżej
- Otwórz bezpośrednio w App Store
Aplikacja
itms-apps://itunes.apple.com/app/[appName]/[appID]
Lista aplikacji programisty
itms-apps://itunes.apple.com/developer/[developerName]/[developerID]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-08 17:18:32
Według najnowszego dokumentu Apple Musisz użyć
appStoreLink = "https://itunes.apple.com/us/app/apple-store/id375380948?mt=8"
Lub
SKStoreProductViewController
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-13 11:09:27
Pomimo tego, że jest tu mnóstwo odpowiedzi, żadna z sugestii dotyczących łączenia się z aplikacjami deweloperów nie wydaje się już działać.
Kiedy ostatnio odwiedziłem, udało mi się uruchomić go przy użyciu formatu:
itms-apps://itunes.apple.com/developer/developer-name/id123456789
To już nie działa, ale usunięcie nazwy dewelopera działa:
itms-apps://itunes.apple.com/developer/id123456789
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-30 12:24:02
Myślę, że Apple podało nowy link do aplikacji link: https://apps.apple.com/app/id1445530088 lub https://apps.apple.com/app/ {your_app_id}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-16 04:54:45
Jeśli masz identyfikator app store, najlepiej go używać. Zwłaszcza jeśli w przyszłości może zmienić nazwę aplikacji.
http://itunes.apple.com/app/id378458261
Jeśli nie masz identyfikatora tha app store, możesz utworzyć adres url na podstawie tej dokumentacji 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:@"[!¡\"#$%'()*+,-./:;<=>¿?@\\[\\]\\^_`{|}~\\s\\t\\n]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, resourceSpecifier.length)];
resourceSpecifier = [resourceSpecifier lowercaseString];
return resourceSpecifier;
}
Przechodzi ten test
- (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);
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-20 11:09:44
Otworzy bezpośrednio App Store
NSString *iTunesLink = @"itms-apps://itunes.apple.com/app/ebl-
skybanking/id1171655193?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-30 07:42:34
Try this way
Http://itunes.apple.com/lookup?id="your app ID here" zwraca json.Następnie znajdź klucz " trackViewUrl" i wartość jest żądanym adresem url. użyj tego adresu url (po prostu zamień https://
na itms-apps://
).To działa dobrze.
Na przykład, jeśli twój identyfikator aplikacji to xyz, przejdź do tego linku http://itunes.apple.com/lookup?id=xyz
Następnie znajdź adres url klucza " trackViewUrl ".To jest adres URL Twojej aplikacji w app store i aby użyć tego adresu w Xcode spróbuj this
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]];
Dzięki
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-26 09:56:14