我正在尝试在我的 iOS 项目(版本 5.1 >~)上使用 CargoBay,现在是一个简单的测试项目。
这是代码:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[CargoBay sharedManager] setPaymentQueueUpdatedTransactionsBlock:^(SKPaymentQueue *queue, NSArray *transactions) {
NSLog(@"Updated Transactions: %@", transactions);
SKPaymentTransaction *transaction = transactions[0];
NSData *receipt = [transaction transactionReceipt];
NSLog(@"%@", receipt);
NSURL *url = [[NSURL alloc] initFileURLWithPath:@"https://mydomain/verify"];
if (receipt) {
[[CargoBay sharedManager] verifyTransactionWithMethod:@"POST" endpoint:url receipt:receipt password:@"aaa" success:^(NSDictionary *responseObject) {
NSLog(@"%@", responseObject);
} failure:^(NSError *error) {
NSLog(@"%@", error);
}];
}
}];
[[SKPaymentQueue defaultQueue] addTransactionObserver:[CargoBay sharedManager]];
return YES;
}
但在启动后收到此消息:
2013-08-13 21:41:15.357 TestCargoBay[8357:907] -[AFJSONRequestOperation setAuthenticationAgainstProtectionSpaceBlock:]: unrecognized selector sent to instance 0x20093b70
2013-08-13 21:41:15.359 TestCargoBay[8357:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AFJSONRequestOperation setAuthenticationAgainstProtectionSpaceBlock:]: unrecognized selector sent to instance 0x20093b70'
消息指向货舱
[requestOperation setAuthenticationAgainstProtectionSpaceBlock ...
代码。
我做错了什么吗?
我的 Podfile 是
platform :ios, '5.0'
pod 'AFNetworking', '1.3.1'
pod 'CargoBay', '~> 0.3'
最后,我在 Cocoa 编程的时间很短。
谢谢,
路易斯
更新
问题是我使用 cocoapods 安装了 CargoBay 和 AFNetworking。AFNetworking 前缀文件(*.pch)暂时无法被 xcode 识别,我将 Pods-AFNetworking-prefix.pch 内容放在货舱文件中并且可以工作。
谢谢你。