0

我已经在我的应用程序中实现了 iAP,我正在尝试购买,但在StoreKitController控制器中它返回之前的交易细节。

示例: 首先我使用产品名称“ABC”购买,此交易完成,之后我尝试使用产品“XYZ”进行另一笔交易,但在第二次交易中,我在下面获得产品名称和产品价格“ABC”方法。

- (void)DoBuy:(NSString*)ProductName PaymentType:(int)type Quantity:(int)Q
{
    DLog(@"Product is.......%@",ProductName);
    // My code
}

产品是.......ABC

- (void) completeTransaction: (SKPaymentTransaction *)transaction
{
  DLog(@"Price is..%lf",ProductPrice);
  DLog(@"%@",transaction.payment.productIdentifier);
  // My Code
}

价格是...1.990000 ABC

但实际上这里应该是价格为 2.99 的产品“XYZ”

提前致谢。

4

3 回答 3

0

从 NSUserDefaults 你得到 NSDictionaries 数组,它们是不可变的,所以你不能改变它们的内容。您必须遍历数组并将 NSDictionaries 更改为 NSMutableDictionaries

试试这个

for (NSUInteger i = 0; i < AppDel.InvoiceInfoArr.count; i++) {
    NSDictionary *dict = [AppDel.InvoiceInfoArr objectAtIndex:i];
    NSMutableDictionary *mutableDict = [dict mutableCopy];
    [AppDel.InvoiceInfoArr replaceObjectAtIndex:i withObject:mutableDict];
}
于 2012-10-04T05:49:41.440 回答
0

如果您的 InvoiceInfoArrNSArray成功了NSMutableArray

于 2012-10-04T05:47:00.837 回答
0

您正在尝试为导致崩溃的 NSDictionary 中的键设置对象,因为您需要将字典类型转换为可变字典。希望这可以帮助。

于 2012-10-04T06:27:36.053 回答