我们设置了验证服务器,通过SSL从我们的iOS应用程序接收购买收据。然后成功地对iTunes Connect服务器验证收据,一切正常。但是,如果我们越狱iOS设备并通过Cydia安装LocalIAPStore,设备可以购买任何东西而无需向用户收费。收据仍然发送到我们的服务器并成功验证,但设备上的用户从不收费,也没有真正的交易发生。怎么可能是Apple服务器成功验证收据?!?
是否有人使用LocalIAPStore遇到了这种情况?
答案 0 :(得分:0)
你写了"收据仍然发送到我们的服务器并成功验证了#34;。我怀疑你一遍又一遍地拿着同样的旧收据。您的服务器可以在收据中记录transaction_id,并拒绝验证任何重复的transaction_id。
答案 1 :(得分:0)
这是你可以尝试的东西,即使这不会妨碍他们使用它。
if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/DynamicLibraries/LocalIAPStore.dylib"]) {
NSLog(@"Local IAP Store detected");
}
这不是很有效,但它可能会阻止某人这样做。您可能希望为应用程序创建自己的服务器(服务器端应用程序),使其无法使用LocalIAPStore等。