潍坊网站建设推广公司,青岛seo杭州厂商,做网站用的什么语言,wordpress销售主题iOS开发 - appstore评价与app内展示appstore
之前开发中遇到app内通过广告直接展示某个app的appstore信息页面。StoreKit提供了SKStoreProductViewController可以app中直接访问app store 而不需要跳转到app store
一、代码实现
#import SDStoreProductManager.h…iOS开发 - appstore评价与app内展示appstore
之前开发中遇到app内通过广告直接展示某个app的appstore信息页面。StoreKit提供了SKStoreProductViewController可以app中直接访问app store 而不需要跳转到app store
一、代码实现
#import SDStoreProductManager.h
#import StoreKit/StoreKit.hstatic SDStoreProductManager *shareInstance nil;interface SDStoreProductManager ()SKStoreProductViewControllerDelegateproperty (nonatomic, weak) UIViewController *controller;endimplementation SDStoreProductManager (instancetype)shareInstance {static dispatch_once_t onceToken;dispatch_once(onceToken, ^{shareInstance [[SDStoreProductManager alloc] init];});return shareInstance;
}/**有次数限制一年只能使用三次使用次数超限后需要跳转appstore*/
- (void)appstoreSystemComent {if (available(iOS 10.3, *)) {if([SKStoreReviewController respondsToSelector:selector(requestReview)]) {// iOS 10.3 以上支持//防止键盘遮挡[[UIApplication sharedApplication].keyWindow endEditing:YES];[SKStoreReviewController requestReview];}} else {// Fallback on earlier versions}
}/**可评分评论打开appstore*/
- (void)openAppStoreComment:(NSString *)appID {if (!(appID [appID isKindOfClass:[NSString class]] appID.length 0)) {return;}NSString *urlString [NSString stringWithFormat: itms-apps://itunes.apple.com/app/id%?actionwrite-review,appID];//替换为对应的APPID[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
}/**app内部加载评价*/
- (void)inAppOpenAppStore:(NSString *)appID controller:(UIViewController *)controller {if (!(appID [appID isKindOfClass:[NSString class]] appID.length 0)) {return;}if (!(controller [controller isKindOfClass:[UIViewController class]])) {return;}__weak typeof(self) weakSelf self;weakSelf.controller controller;SKStoreProductViewController *storeProductViewContorller [[SKStoreProductViewController alloc] init];storeProductViewContorller.delegate self;//加载App Store视图展示[storeProductViewContorller loadProductWithParameters:{SKStoreProductParameterITunesItemIdentifier:appID} completionBlock:^(BOOL result, NSError *error) {if(error) {} else {//模态弹出appstore[weakSelf.controller presentViewController:storeProductViewContorller animated:YES completion:^{}];}}];
}// 代理方法
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {[self.controller dismissViewControllerAnimated:YES completion:^{}];
}end二、小结
iOS开发 - appstore评价与app内展示appstore使用StoreKit之SKStoreProductViewControl展示appstore某个应用的appstore页面。
学习记录每天不停进步。