为了在我的应用程序中启用应用内购买,我做了一个tutorial,它引用了一个不是最新的VerificationController来进行收据验证。
结果,由于使用iOS5的唯一标识符,我的应用被拒绝了。因为我基本上喜欢支持iOS5和iOS6的想法,所以我认为可能有一种解决方案可以在运行下获得“iOS 6之前的代码”,但是我只找到this解决方案,建议(在伴随文件中)删除所有的“Pre iOS 6”代码。

- (BOOL)doesTransactionInfoMatchReceipt:(NSString*) receiptString
{
    // some code above

    if ([[UIDevice currentDevice] respondsToSelector:NSSelectorFromString(@"identifierForVendor")]) // iOS 6?
    {
#if IS_IOS6_AWARE
        // iOS 6 (or later)
        NSString *localIdentifier                   = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
        NSString *purchaseInfoUniqueVendorId        = [purchaseInfoFromTransaction objectForKey:@"unique-vendor-identifier"];
        NSString *verifiedReceiptVendorIdentifier   = [verifiedReceiptReceiptDictionary objectForKey:@"unique_vendor_identifier"];


        if(verifiedReceiptVendorIdentifier)
        {
            if (![purchaseInfoUniqueVendorId isEqualToString:verifiedReceiptVendorIdentifier]
                || ![purchaseInfoUniqueVendorId isEqualToString:localIdentifier])
            {
                // Comment this line out to test in the Simulator.
                failCount++;
            }
        }
#endif
    } else {
        // Pre iOS 6 - this part is missing now
        NSString *localIdentifier           = [UIDevice currentDevice].uniqueIdentifier;
        NSString *purchaseInfoUniqueId      = [purchaseInfoFromTransaction objectForKey:@"unique-identifier"];


        if (![purchaseInfoUniqueId isEqualToString:verifiedReceiptUniqueIdentifier]
            || ![purchaseInfoUniqueId isEqualToString:localIdentifier])
        {
            // Comment this line out to test in the Simulator.
            failCount++;
        }
    }

// more code
}
我的问题是:如何匹配iOS5的交易信息和收据?
为什么不再在VerificationController中添加它,这不重要吗?
任何想法表示赞赏,
克里斯

最佳答案

在此处查看解决方案:https://github.com/MugunthKumar/MKStoreKit/issues/142

您不需要VerificationController(使用[UIDevice
currentDevice] .uniqueIdentifier),以使MKStoreKit正常工作。我只是
删除了文件,因为从不调用该代码
MKStoreManager。

或创建自己的UDID:https://github.com/MugunthKumar/MKStoreKit/issues/142#issuecomment-17433634

关于ios - 应用内购买:如何在没有iOS5的uniqueIdentifier的情况下处理收据验证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17026523/

10-09 16:14