一行代码引起的 Manico 免费升级事故(附解决办法)

昨天早上,我在基本做足准备的情况下,正式发布了 Manico 2.0。一切有条不稳地进行着,直到有用户向我报告:我是 1.x 的老用户,却没办法免费自动激活成完整版,还是显示「Demo 版本」。

我大惊,难道我的代码不工作,导致老用户都没办法自动激活成完整版,那可如何是好,我都发出「老用户享受免费升级」的文章了…

后来我再去找了另外一个用户确认,他是解锁成功的。这让我去仔细看了会代码,终于发现了问题,竟然是一个再也普通不过的问题。我还是简单地说明下好了。

事故原因

我在 Manico 2.0 代码中,根据 Apple 提供的 API,会进行一个用户购买凭证,即 Receipt 的验证。Apple 提供了非常丰富的除用户隐私以外的信息供开发者去做灵活的策略而决定如何的升级机制,我在 Manico 2.0 就做了这样的处理:

  • 判断用户初次购买 Manico 的版本是不是 1.4.4 以前(并包含),如果是,即自动解锁,变成完整版,即老用户自动免费升级,如果不是,则需要内购来解锁成完整版本。

而就是在这里,我犯了了一个错误,在判断这个版本号的时候,应该是「1.4.4 版本以前(并包含)」,我没写这个「并包含」,导致所有 1.4.4 版本才购买 Manico 的用户无法自动解锁,导致了这个事故。

这个事故影响说大不大说小不小,主要是 Apple 这几天放假,我无法加急审核一个版本去解决这个问题;幸好 Manico 提供了官方版本,我可以给这类无法自动解锁的老用户发放一个官方版本的 License,让他们能通过官方版本来免费使用。这主要就是体力活了。

无论怎样,还是怪自己为了赶在 2015 年结束前发布 Manico 2.0,没有做足工作(特别是要写测试啊亲!!!),给这批老用户造成了困惑。希望你们能谅解。

解决办法

如果你也是这类 1.4.4 版本才购买并且无法自动解锁的用户,可以将「购买凭证或 Mac App Store 的截图+名字+电子邮件」发给:tualatrix#gmail.com,或者微博私信 @图拉鼎。我会给你发放官方版本的 License 以解决免费升级的问题。

收到 License 以后(很可能会在垃圾邮件夹里,请反复检查),然后到官网下载 Manico:http://manico.im,运行起来后,双击 License 即可激活。

关于这次升级事故的修复版本,我会在这两天提交给 Apple,然后申请加速审核,等他们回来上班时的12月30日,希望能审核通过。

大概就是这样,如有任何问题,请通过 http://manico.im/contact/ 的其中一种方式来联系我。昨天有用户急,同时使用三种方式来联系我!希望大家不要效仿 ToT

祝周末愉快!

欢迎使用图拉鼎和他的团队开发的作品

One Switch - 多功能开关工具

常驻 macOS 菜单栏的开关工具,可以快速开关 AirPods、睡眠模式、切换黑暗模式等。

3 Comments

Leave a Comment