iOS應用內展示應用並下載(StoreKit Demo)

來源:互聯網
上載者:User

最近就是被問到,某某瀏覽器可以直接在應用內展示應用並下載,還有下載進度是咋實現的,知道是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/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.