Con questo tutorial vi mostrerò come utilizzare il framework storekit per visualizzare all’interno della vostra app le vostre app già pubblicate(scusate il gioco di parole).
Per prima cosa lanciamo xcode e creiamo un nuovo progetto di tipo Single View Application
Aggiungiamo al nostro progetto il framework StoreKit
All’interno del file .h importiamo il framework
[code lang=”obj-c”]
#import <StoreKit/StoreKit.h>
@interface ViewController : UIViewController<SKStoreProductViewControllerDelegate>
[/code]
mentre nel file d’implementazione scriviamo il seguente codice :
[code lang=”obj-c”]
– (void)viewDidLoad {
[super viewDidLoad];
//creo un bottone con le varie impostazioni e posizione all’interno della view
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"Visualizza App" forState:UIControlStateNormal];
[button setFrame:CGRectMake(0.0, 0.0, 200.0, 44.0)];
[button setCenter:self.view.center];
[self.view addSubview:button];
//faccio in modo che quando viene premuto richiamo il meto
[button addTarget:self action:@selector(ApriInAppStore:) forControlEvents:UIControlEventTouchUpInside];
}
– (void)ApriInAppStore:(id)sender {
// inizializzo il productView controller
SKStoreProductViewController *storeProductViewController = [[SKStoreProductViewController alloc] init];
// Configuro il View Controller
[storeProductViewController setDelegate:self];
//imposto il prodotto da visualizzare in base all’id
[storeProductViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier : @"440485007"}//modificare la seguente stringa in base al proprio id dell’app
//verifico se vi sono qualche errori
completionBlock:^(BOOL result, NSError *error) {
if (error) {
NSLog(@"Errore %@ User Info %@.", error, [error userInfo]);
} else {
// Mostro Store Product View Controller
[self presentViewController:storeProductViewController animated:YES completion:nil];
}
}];
}
– (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[self dismissViewControllerAnimated:YES completion:nil];
}
[/code]
Il risultato finale dovrebbe essere simile a questo :