我们是否真的需要针对iOS 6的应用内进行此验证?

去年,俄罗斯黑客创建了一种方法来验证应用内购买而无需付款和 this guy created a class to verify each purchase.

据我所知,黑客暴露的这种技术不再适用于iOS 6,但我不确定.

我正在为iOS 6创建一个新的应用程序,并尝试将代码最小化甚至更好,我的应用程序涉及Apple的托管内容,所以我想知道这个添加的验证对我的案例是否真的是必要的.

记住这一点

>我正在为iOS 6及更高版本开发;
>我的in-apps已经托管了苹果的内容,所以即使黑客技术有效,这个人也永远不会得到用苹果托管的内容.

有什么想法吗?

谢谢.

解决方法

该漏洞应在iOS6中解决,但这并不意味着您应该偏离一般的收据验证最佳实践.见 Verifying Store Receipts
In-App Purchase Receipt Validation on iOS获取更多信息.

如上面的链接所述,Apple建议您遵循收据验证的最佳做法,无论是在iOS 5还是iOS 6上.“简单的代码”不足以成为偏离这些指南的理由.如果将代码结构化为定义良好的类,则可以将所有接收验证逻辑抽象到自己的类中,从而使得使用它的代码更加清晰.

如果您直接从App连接到App Store进行验证,那么他们明确指出的措施(参见“My app performs validation by connecting to the App Store server directly. How am I affected?”)应该有所帮助.如果以抽象的方式(在类别或类中)实现它们,那么它仍应保持代码清洁.

即使您的内容由Apple托管,您仍然可以为自己提供额外的防范欺诈手段.苹果并不完美;他们可能会自己打开你的应用程序.

最终,当你处理自己的收入时,你最好安全地玩,而不是后来抱歉.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...