gpt4 book ai didi

iphone - VerificationController 无法识别的选择器 iOS 5.0.1

转载 作者:行者123 更新时间:2023-12-03 21:15:56 26 4
gpt4 key购买 nike

我刚刚将应用内购买添加到我的 iOS 应用程序中,我的一些用户崩溃了

-[__NSCFString objectForKey:]: unrecognized selector sent to instance 0xf0a6f10

从 BugSense 获取,内存位置指的是 Apple 的 VerificationController.m 摘录的最后一行

- (BOOL)isTransactionAndItsReceiptValid:(SKPaymentTransaction *)transaction
{
if (!(transaction && transaction.transactionReceipt && [transaction.transactionReceipt length] > 0))
{
// Transaction is not valid.
return NO;
}

// Pull the purchase-info out of the transaction receipt, decode it, and save it for later so
// it can be cross checked with the verifyReceipt.
NSDictionary *receiptDict = [self dictionaryFromPlistData:transaction.transactionReceipt];
NSString *transactionPurchaseInfo = [receiptDict objectForKey:@"purchase-info"];
...

receiptDict 是由此代码生成的(也包含在 VerificationController.m 中)

- (NSDictionary *)dictionaryFromPlistData:(NSData *)data
{
NSError *error;
NSDictionary *dictionaryParsed = [NSPropertyListSerialization propertyListWithData:data
options:NSPropertyListImmutable
format:nil
error:&error];
if (!dictionaryParsed)
{
if (error)
{
#warning Handle the error here.
}
return nil;
}
return dictionaryParsed;
}

它应该返回一个 NSDictionary 或 nil。

ARC 已打开。这个问题似乎只发生在 iOS 5.0.1 用户身上。虽然我确实对 VerificationController.m 进行了必要的更改,但这部分并未受到影响。我似乎无法在运行 iOS 5.1.1 的 iPad 上重现该问题,但用户表示,即使重新安装应用程序后,该问题仍然存在。如果有人能看到我做得不对的简单事情,我将不胜感激。

编辑跟进问题。这意味着什么

- (BOOL)isTransactionAndItsReceiptValid:(SKPaymentTransaction *)transaction

transaction.transactionReceipt

仅提供一个 NSString,忽略是否安全?

最佳答案

看起来像我

 propertyListWithData:data options:NSPropertyListImmutableformat:nil error:&error];

返回一个字符串而不是字典,但这似乎不符合逻辑。你确定问题是由此而来吗?

关于iphone - VerificationController 无法识别的选择器 iOS 5.0.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13477215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com