iOS应用内展示应用并下载(StoreKit Demo)
2013-10-22 22:41
531 查看
(转载地址 : http://blog.csdn.net/jaywon/article/details/9082893)
最近就是被问到,某某浏览器可以直接在应用内展示应用并下载,还有下载进度是咋实现的,知道是iOS6的SotreKit搞的,但是还总被问有没有例子。个人觉得的应该是个很简单的东东啊?顺手写了一个:
步骤很简单:
1.添加StoreKit.framework
2.引用头文件并声明协议
#import <StoreKit/StoreKit.h>
@interface ViewController ()<SKStoreProductViewControllerDelegate>
@end
3.简单的几行实现代码
- (IBAction)doLoadAnApp:(UIButton *)sender {
[self openAppWithId:@"443795458"];
}
- (void)openAppWithId:(NSString *)_appId {
Class storeVC = NSClassFromString(@"SKStoreProductViewController");
if (storeVC != nil) {
SKStoreProductViewController *_SKSVC = [[SKStoreProductViewController alloc] init];
_SKSVC.delegate = self;
[_SKSVC loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier: _appId}
completionBlock:^(BOOL result, NSError *error) {
if (result) {
[self presentViewController:_SKSVC
animated:YES
completion:nil];
}
else{
NSLog(@"%@",error);
}
}];
}
else{
//低于iOS6没有这个类
NSString *_idStr = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/us/app/id%@?mt=8",_appId];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:_idStr]];
}
}
#pragma mark - SKStoreProductViewControllerDelegate
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[viewController dismissViewControllerAnimated:YES
completion:nil];
}
that’s all
顺道说下,如果你想测试下载过程的话,跟测试iAP一样,需要建立一个测试帐号,然后用那个帐号下载,不然的话会安装不成功
再有就是,明显那个“低于iOS6”就是指iOS5喽,因为这类只提供了block实现,就只能用在4.x以上了,而现在苹果要求4.x只支持4.3,所以是不是很多人都放弃4.3只支持5.x以上了?
工程下载:StoreKitTest
转载: http://blog.cnrainbird.com/index.php/2013/02/02/ios_ying_yong_nei_zhan_shi_ying_yong_bing_xia_zai_storekit_demo/
最近就是被问到,某某浏览器可以直接在应用内展示应用并下载,还有下载进度是咋实现的,知道是iOS6的SotreKit搞的,但是还总被问有没有例子。个人觉得的应该是个很简单的东东啊?顺手写了一个:
步骤很简单:
1.添加StoreKit.framework
2.引用头文件并声明协议
#import <StoreKit/StoreKit.h>
@interface ViewController ()<SKStoreProductViewControllerDelegate>
@end
3.简单的几行实现代码
- (IBAction)doLoadAnApp:(UIButton *)sender {
[self openAppWithId:@"443795458"];
}
- (void)openAppWithId:(NSString *)_appId {
Class storeVC = NSClassFromString(@"SKStoreProductViewController");
if (storeVC != nil) {
SKStoreProductViewController *_SKSVC = [[SKStoreProductViewController alloc] init];
_SKSVC.delegate = self;
[_SKSVC loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier: _appId}
completionBlock:^(BOOL result, NSError *error) {
if (result) {
[self presentViewController:_SKSVC
animated:YES
completion:nil];
}
else{
NSLog(@"%@",error);
}
}];
}
else{
//低于iOS6没有这个类
NSString *_idStr = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/us/app/id%@?mt=8",_appId];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:_idStr]];
}
}
#pragma mark - SKStoreProductViewControllerDelegate
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[viewController dismissViewControllerAnimated:YES
completion:nil];
}
that’s all
顺道说下,如果你想测试下载过程的话,跟测试iAP一样,需要建立一个测试帐号,然后用那个帐号下载,不然的话会安装不成功
再有就是,明显那个“低于iOS6”就是指iOS5喽,因为这类只提供了block实现,就只能用在4.x以上了,而现在苹果要求4.x只支持4.3,所以是不是很多人都放弃4.3只支持5.x以上了?
工程下载:StoreKitTest
转载: http://blog.cnrainbird.com/index.php/2013/02/02/ios_ying_yong_nei_zhan_shi_ying_yong_bing_xia_zai_storekit_demo/
相关文章推荐
- iOS 6 SDK: 在应用内展示App Store 【StoreKit,SKStoreProductViewController】
- OA01-一个Demo展示iOS多线程技术的基本应用场景
- iOS 6 SDK: 在应用内展示App Store (storekit)
- iOS 在应用内展示App Store 【StoreKit,SKStoreProductViewController】
- HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
- iOS“此时无法下载应用”解决办法
- IOS6.0 应用内直接下载程序 不需跳转AppStore
- iOS 6 SDK: 在应用内展示App Store --- 用户可以 不必 关闭应用直接在应用内评价
- Flex应用展示之-3DDEMO
- iOS主题皮肤切换示例Demo下载 一步一步实现主题切换
- ETL利器Kettle实战应用解析系列二 【应用场景和实战DEMO下载】
- iOS 两种系统分享(配Demo下载)UIActivityViewController 和 SLComposeViewController
- iOS应用开发——小画板Demo
- iOS 一个方法首次安装滚播图 展示应用简介
- iOS 应用展示广告动画
- 苹果首批ARKit应用展示:或随iOS 11一起亮相
- iOS实例下载:使用腾讯的SDK将新浪微薄嵌入到应用中
- IOS 实现应用间授权登录、从一个应用跳到另一个应用,跳到app下载应用、评分。
- 如何通过网页提供iOS应用下载
- 问答 ——将 iOS 应用的体积控制在 20MB 以内对于其下载量有很明显的影响吗?