2012-10-05 26 views
8

He comprobado el código de muestra (aplicaciones de pago superiores) del sitio web de Apple, donde puede ver todas las principales aplicaciones en la tienda de aplicaciones, quiero hacer lo mismo en mi aplicación, pero para mostrar solo mis aplicaciones en la App Store. Esta es la URL que encontré en esa muestra:Abra una lista de mis aplicaciones en la App Store dentro de mi aplicación

http://phobos.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppaidapplications/limit=75/xml

¿Qué necesito cambiar en este URL para mostrar solamente mis aplicaciones?

+0

¿Se puede publicar el enlace a la muestra? – alexandresoli

+0

Aquí está el enlace del código de muestra: https://developer.apple.com/library/ios/samplecode/TopPaid/Introduction/Intro.html – 4slices

+0

parece que el código de muestra ya no está disponible, puedo enviarlo por correo electrónico para ti si quieres – 4slices

Respuesta

17

Esto es bastante fácil con el SKStoreProductViewController introducido en iOS 6. Con eso los usuarios pueden comprar sus otras aplicaciones directamente dentro de la aplicación.

Primero agregue StoreKit.framework a su proyecto. Luego, encuentre la URL de iTunes que enlaza con sus aplicaciones usando iTunes. Puedes copiar el enlace desde iTunes Store. Por ejemplo, la URL para las aplicaciones de Apple es http://itunes.apple.com/de/artist/apple/id284417353?mt=12 . Contiene el identificador de iTunes, que pasa al SKStoreProductViewController.

Código de ejemplo:

#import "ViewController.h" 
#import <StoreKit/SKStoreProductViewController.h> 

@interface ViewController()<SKStoreProductViewControllerDelegate> 
@end 

@implementation ViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self showMyApps]; 
} 

-(void)showMyApps 
{ 
    SKStoreProductViewController* spvc = [[SKStoreProductViewController alloc] init]; 
    [spvc loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier : @284417353} 
        completionBlock:nil]; 
    spvc.delegate = self; 
    [self presentViewController:spvc animated:YES completion:nil]; 

} 

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

@end 
+0

Primero, me gustaría agradecerle por la respuesta detallada y funciona bien en el simulador iOS 6 pero no trabajando para el iOS anterior hay alguna forma de ponerlo a disposición para todos los dispositivos que ejecuten iOS anterior. – 4slices

+0

No, esta función solo está disponible en iOS 6. En versiones anteriores, podía vincular a App Store: '[[UIApplication sharedApplication] openURL: [NSURL URLWithString: @" http://itunes.apple.com/de/artist/apple/id284417353? mt = 12 "]]' – Felix

+0

Pero, ¿cómo puedo hacerlo ya que mi aplicación se bloquea en iOS anterior después de agregar el código anterior? – 4slices

0

Usted podría utilizar DAAppsViewController. Se puede configurar con una ID de desarrollador para mostrar todas las aplicaciones de ese desarrollador. Utilizará StoreKit si está disponible, de lo contrario recurrirá a la tienda de aplicaciones.

Cuestiones relacionadas