¿Cómo puedo lanzar la aplicación Appstore directamente desde mi aplicación?

StackOverflow https://stackoverflow.com/questions/226986

  •  03-07-2019
  •  | 
  •  

Pregunta

He usado varias aplicaciones ahora que inician la tienda de itunes directamente desde la aplicación. Incluso estoy usando algunos en mi 2.1 iPod 2G.

Sé que hay un error en 2.1 que impide que los enlaces de las tiendas de aplicaciones funcionen en safari, pero de alguna manera la gente está lanzando la tienda de aplicaciones directamente, ni siquiera a través de safari.

¿Cómo haces esto? ¿Es una función openURL no documentada?

¿Fue útil?

Solución

Desde iTunes, arrastre el ícono de su aplicación al escritorio, esto le dará un enlace que puede usar directamente (por ejemplo, http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284036524&mt=8 inicia AppStore to Crosswords, tanto en un escritorio como un iPhone).

Coloca esto en un NSURL y llama a openURL en él.

Otros consejos

Para ser extremadamente conciso:

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

Si desea enviar a todas las aplicaciones para un desarrollador, use

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

Estos funcionan para iOS 4.1

Ver también Cómo enlazar a aplicaciones en la tienda de aplicaciones

Descubrí cómo ingresar directamente a la página de revisión de una aplicación en la AppStore.

Básicamente, se hace como a continuación, siéntase libre de leer mi blog publicar al respecto.

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

Si desea mostrar los detalles de la aplicación en lugar de las revisiones, puede usar la url de esta manera:

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

He probado esto en mi iPhone con iOS 6.1 y lo redireccionaré a la aplicación App Store inmediatamente.

Ben Gottlieb tiene razón, pero hay una forma más rápida de obtener la URL: puede hacer clic con el botón derecho en cualquier icono de la aplicación en iTunes y seleccionar " Copiar la URL de iTunes Store " ;.

Luego llame a UIApplication openURL en él.

Asegúrate de que diga " phobos.apple.com " y no " itunes.apple.com "

El primero abre el App Store directamente, mientras que el segundo abrirá MobileSafari primero, luego el App Store.

Puede obtener su AppID desde itunesconnect.apple.com " Administre sus aplicaciones "

Si no desea obtener el enlace de iTunes, puede hacerlo.

  1. selecciona tu aplicación en AppStore
  2. haz clic en el botón Decirle a un amigo en la parte superior derecha.
  3. envía el enlace por correo electrónico a ti mismo

He tenido este trabajo en el momento que el enlace de iTunes no lo haría.

Si tiene un enlace de afiliado y aún desea abrir la aplicación App Store directamente sin Safari en el medio, puede usar un UIWebView oculto o un NSURLConnection. Para ver el último, vea esta publicación http://gamesfromwithin.com/handling-app-store -y-linkshare-links

Aquí está el código que utilizo y lo probé con las distintas versiones de iOS mencionadas. Obviamente, cambie el ID del cliente para que sea el suyo:

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

Si acaba de lanzar su aplicación ... no tendrá un " ID # de aplicación " aún ... así que ninguno de esos métodos funcionará.

Tuve que insertar un " enlace que no funciona " en mi v1.0 ... y luego en mi actualización v1.1 ... agregé el enlace real y el número de ID de la aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top