CargoBay 2.1.1

CargoBay 2.1.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2015年5月

Mattt维护。



CargoBay 2.1.1

必不可少的StoreKit伴侣

StoreKit是苹果的框架,用于实现应用内购买。它相当不错,但有一些粗糙的边缘。

CargoBay通过以下功能来平滑这些粗糙部分:

  • 一步收据和交易验证,根据苹果的指导方针安全执行
  • 基于块的请求产品信息接口
  • 从远程网络服务异步请求产品信息的能力
  • 基于块的回调用于支付队列观察代理方法
  • 自动检查交易的唯一性

本项目是开源库系列的一部分,涉及iOS应用程序基础设施的关键部分。确保查看其姊妹项目:GroundControlSkyLabhoustonOrbiter

用法

产品请求

NSArray *identifiers = @[
  @"com.example.myapp.apple",
  @"com.example.myapp.pear",
  @"com.example.myapp.banana"
];

[[CargoBay sharedManager] productsWithIdentifiers:[NSSet setWithArray:identifiers]
success:^(NSArray *products, NSArray *invalidIdentifiers) {
  NSLog(@"Products: %@", products);
  NSLog(@"Invalid Identifiers: %@", invalidIdentifiers);
} failure:^(NSError *error) {
  NSLog(@"Error: %@", error);
}];

支付队列观察

AppDelegate.m

- (void)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)options {
  [[CargoBay sharedManager] setPaymentQueueUpdatedTransactionsBlock:^(SKPaymentQueue *queue, NSArray *transactions) {
    NSLog(@"Updated Transactions: %@", transactions);
  }];

  [[SKPaymentQueue defaultQueue] addTransactionObserver:[CargoBay sharedManager]];

  // ...
}

验证收据

[[CargoBay sharedManager] verifyTransaction:transaction password:nil success:^(NSDictionary *receipt) {
  NSLog(@"Receipt: %@", receipt);
} failure:^(NSError *error) {
    NSLog(@"Error %d (%@)", [error code], [error localizedDescription]);
}];

联系信息

Mattt Thompson

许可证

CargoBay可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。