终于找到淘口令的坑了

由于公司业务用到淘口令,前段时间又遇到一个奇葩的问题,同一个淘口令,在 iOS 版淘宝上识别不了,在 android 版淘宝上正常识别。

最开始定义为淘宝 bug,后续经过大量的用户反馈,不得不去逆向淘宝查看淘口令的具体判断。

逆向过程持续了 5 天,最终查找到原因。淘口令对应的链接带有空格,也就是 activityId = 这里我们的新程序员添加了空格,而淘宝通过链接地址构造 NSURL 失败。

其实这种问题,一般开发中很常见,遇到 url 的编码问题,一般都是 android 端正常,而 iOS 端表现异常。

当然,回头总结下处理过程,其实可以快速解决问题的。因为淘口令对应的就是一个链接,所以,拿到链接首先在浏览器中打开看看,就知道结果了。而且拿到链接,自己分析下,也能够发现空格。

这里,说下不同浏览器的结果。mac 端 chrome 、safari 都没有问题。iPhone 端 safari 会把空格后面的截断,而程序代码中直接构造 NSURL 失败。

虽然说最开始走逆向的方向导致花费了大量时间,但是中间的过程还是很有价值的。

经历了失望,也收获了喜悦。今天看到一大牛的日常也是这样,一天受挫,一天顺利。心情自动不厚道的舒服了。

编程就是这样,发现问题,解决问题,循环如此。生活也是这样,只是以后要在这种循环中锻炼自己的回血能力,让自己更强大。

你可能感兴趣的:(iOS淘宝不能识别淘口令,淘口令带有空格,iOS,NSURL,编码,iOS,NSURL,初始化失败,iOS,NSURL,实例化失败,别人家的bug)