アプリ内にAppStoreを表示するために提供されているSKStoreProductViewController
を使ってみた。
こちらのサイトを参考にさせていただきました。
参考:
SKStoreProductViewController
アプリ内でAppStoreを表示する方法
アプリ内AppStore
ViewController.h
#import <UIKit/UIKit.h>
#import <StoreKit/StoreKit.h>
@interface ViewController : UIViewController {
// AppStore表示用のViewController
SKStoreProductViewController *productViewController;
}
@end
ViewController.m
#import "ViewController.h"
@interface ViewController () <SKStoreProductViewControllerDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
productViewController = [[SKStoreProductViewController alloc] init];
productViewController.delegate = self;
self.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:productViewController animated:YES completion:^() {
NSString *productID = @"646680221";
NSDictionary *parameters = @{SKStoreProductParameterITunesItemIdentifier:productID};
[productViewController loadProductWithParameters:parameters
completionBlock:^(BOOL result, NSError *error)
{}];
}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[self dismissViewControllerAnimated:YES completion:nil];
}
@end
StoreKit.frameworkの追加を忘れないようにしましょう。
半分だけ表示
半分だけ表示させたい気分だったので、だいたい半分くらい表示させてみた。
参考:
[Modal Viewのサイズを変更しよう!](http://blog.livedoor.jp/rumblefish0228/archives/17382961.![IMG_0320.jpg](https://qiita-image-store.s3.amazonaws.com/0/55871/6ae0e51e-543e-dfdc-f395-d3af75b9429a.jpeg)
html)
コードは以下の通りです。
ViewController.m
#import "ViewController.h"
@interface ViewController () <SKStoreProductViewControllerDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
productViewController = [[SKStoreProductViewController alloc] init];
productViewController.delegate = self;
self.modalPresentationStyle = UIModalPresentationFormSheet;
}
- (void)viewDidAppear:(BOOL)animated
{
[self presentViewController:productViewController animated:YES completion:^() {
NSString *productID = @"646680221";
NSDictionary *parameters = @{SKStoreProductParameterITunesItemIdentifier:productID};
[productViewController loadProductWithParameters:parameters
completionBlock:^(BOOL result, NSError *error)
{}];
}];
self.view.superview.frame = CGRectMake(0, 300, 320, 180);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[self dismissViewControllerAnimated:YES completion:nil];
}
ちゃんと動きました。
入手ボタンを押してここからインストールできます。