为我的应用内购买运行测试(第一次在应用内购买).我在这段代码的第三行得到了EXC_BAD_ACCESS:
SKPayment *payment = [SKPayment paymentWithProduct:electronicProd];
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] addPayment:payment];
Run Code Online (Sandbox Code Playgroud)
这是一个按钮的IBAction.electronicPack在标题中声明为SKProduct.在productsRequest didReceiveResponse中抛出了一些NSLog,当请求产品时(在viewDidLoad中),他们表明它正确地获取产品并将其存储在electronicPack中.在didReceiveResponse页面中将electronicPack定义为[[request.products] objectAtIndex:0].所以是的.多数民众赞成在哪里,不知道该怎么做.任何帮助表示赞赏.
更新:FIXED意外遗留在添加额外事务观察器的代码中lol
我有一个UITableView
不同的应用程序购买设置.每个选项都会将您带到一个视图控制器,该视图控制器也有代理人以及应用程序内购买的内容.更改plist文件以确定选择表视图中的哪个选项.一切正常.我放入NSLogs以确保变量已设置.然而,当我点击购买时,它只能工作一半的时间,另一半我得到
EXC_BAD_ACCESS
在线上:
[[SKPaymentQueue defaultQueue] addPayment:payment];
Run Code Online (Sandbox Code Playgroud)
在应用程序购买过程中,所有内容都设置正确,因为在我切换到这种方式之前它曾经工作过.我认为它可能与调用productsRequest有关,因为我NSLog
在didReceiveResponse
委托中设置并且它在第一次之后更快地收到响应.我卡住了.不工作的那些总是随机的,没有押韵或理由.任何帮助表示赞赏.