由于开发一个应用有个内付费去广告功能,介于苹果官方提供的方法没用过,感受有些复杂,因而选用了第三方组件Parse来解决这个问题,简单易操做;app
简化苹果官方内付费问题,使用方法分厂简单只有两个Block方法,如下实现简单的购买过程ide
在AppDelegate的application:didFinishLaunchingWithOptions:方法中测试
// Use the product identifier from iTunes to register a handler. [PFPurchase addObserverForProduct:@"ProductID" block:^(SKPaymentTransaction *transaction) { // Write business logic that should run once this product is purchased. }];
在购买的地方调用
网站
[PFPurchase buyProduct:@"ProductID" block:^(NSError *error) { if (!error) { // Run UI logic that informs user the product has been purchased, such as displaying an alert view. } }];
可是我在真机测试的时候一直出现Error Domain=Parse Code=146 "The operation couldn’t be completed. (Parse error 146.),即便新建工程也一样此错误。this
Parse官方网站提供了对这个错误答疑,因为不够细心把解决方案屡次忽略:①多是这个产品ID(ProductID)有问题,或者不存在。②而我存在的问题是设备越狱了致使不能购买。spa
解决办法:①检查在itunes上ID问题;插件
②在Cydia中卸载掉Assync插件,重启设备便可解决;
code
③以上不行,换未越狱的设备试吧。orm