iOS6 在应用内展示App Store

       在用户给我们的app评分的时候,一般情况下我们都需要跳转到app store,很不方便。在iOS6以后,引入了

SKStoreProductViewController类,可以在应用内展示App Store,用户可以不用离开应用,直接给我们的应用评分或者展示其他的app信息。

       在应用内展示AppStore,需要给项目添加StoreKit.frame. SKStoreProductViewController存在StoreKit框架内。

    

        SKStoreProductViewController类是UIViewController的子类, 如果你对view controller比较熟悉的话,那   SKStoreProductViewController使用起来也非常简单了。当你希望向用户展示App Store中产品时,你需要:

        1.实例化一个SKStoreProductViewController类
        2.设置它的delegate
        3.把sotre product视图控制器显示给消费者

   主要代码:

  .h文件:

#import <UIKit/UIKit.h>

#import <StoreKit/StoreKit.h>

@interface ViewController : UIViewController <SKStoreProductViewControllerDelegate>
- (IBAction)openAppStore:(id)sender;

@end
   .m文件:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)openAppStore:(id)sender {
    
    SKStoreProductViewController * storeProductViewController = [[SKStoreProductViewController alloc] init];
    [storeProductViewController setDelegate:self];
    [storeProductViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:@"594467299"} completionBlock:^(BOOL result, NSError *error) {
        if(error)
        {
            NSLog(@"Error %@ with user info %@",error,[error userInfo]);
        }
        else
        {
            [self presentViewController:storeProductViewController animated:YES completion:nil];
        }
    }];
    
}

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

效果图:

iOS6 在应用内展示App Store



你可能感兴趣的:(ios,xcode,Objective-C,StoreKit)