1
zwo 2015-10-02 15:39:54 +08:00
不需要自己解析或者 openssl 。把 BASE64 的 receipt 和自己设置的密码通过 https 发到苹果验证,返回的是可读的 JSON 。建议把 receipt 检验放在自己的服务器上做。
|
3
zwo 2015-10-02 17:50:03 +08:00 1
@strom001 可以本地做验证,但是意义不大,现在的越狱内购插件太容易搞掂本地做的验证,你本地对 receipt 做验证,但是 receipt 有可能是插件偷了其它已购买人的。通过服务器可以验证这个 receipt 是否唯一存在,即没被盗用。 iOS6 刚出来的时候,你所说的做法还是很流行的,代码在 github 上就有。
|
4
strom001 OP @zwo 谢谢。那这个 receipt 可以不用吗? For non-consumable products and auto-renewable subscriptions in iOS 7 and later, use the app receipt as your persistent record. 用 user defaults ?
|
5
zwo 2015-10-02 19:30:01 +08:00
@strom001 这个说的是 iOS7 style receipt ,相对于 iOS6 style receipt 通过 transaction 获得,其实两者差别不大,只不过前者不需要在交易中才获得,而是随时可以通过 NSBundle 来得到。这两个都是 receipt 的获取方法,都无法解决内购伪造的问题。如果你选用后者,确实不用再用 user defaults 来存已购买记录。如果你真的是很在意内购保护的话,不妨申请个免费的云空间,放个 PHP 脚本做回执校验。
|
6
strom001 OP @zwo 不是在意内购保护,我以为这是必需的……现在我的 app 购买项目是 Ready to Submit ,检查了 ID 也没问题,不知道为何总是没有这个产品。。
|
7
strom001 OP 原来是银行税务没添全。。。苹果效率好高啊,五分钟就审核通过了。。。
|