定位在iOS10和iOS11中,被我踩到的大坑,导致我的一款App用户量骤降

我写了一个名为“找到我啦”的App,一个小小的定位功能的App。本来用户就不多,两次大漏洞都被我撞上了。导致我的用户量剧降,下面我就简单写下导致我用户量降低的坑吧。

首先,我很开心有了点用户,就开始嘚瑟了。想着加个广告赚点钱吧,遇上我就选择了Google的ADMob,按照步骤加上了各种配置。我自己的手机是iOS9系统,正常运行。发布上线啦。做了个Money的春秋大梦。

发布的当天晚上,就发现了用户活跃量降了60%。我嘚瑟的认为是我做的定位优化导致的。看来我做的优化还不错。两周过去了,活跃度持续降低,终于有一天,我掏出了我的iphone5c,升级到了iOS10.3系统,发现无法登陆,然后发现报错“App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.”,看报错,应该是我没有设置Allow Arbitrary Loads,但是我记得我设置了的,不然我的老版本如何使用。一个激灵,我想起了再添加AdMob时,根据google的提示,我不分青红皂白就增加了NSAllowsArbitraryLoadsForMediaNSAllowsArbitraryLoadsInWebContent。而这两个属性,是在iOS10系统中新加入的,设置为yes,可以让你的app中的UIWebView,WKWebView或者使用AVFoundation播放在线视频不受ATS的限制。

根据苹果官方介绍:
https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW60
NSAllowsArbitraryLoadsInWebContent:If you add this key to yourInfo.plist file, then, irrespective of the value of the key, ATS ignores the value of the NSAllowsArbitraryLoads key, instead using that key’s default value of NO.(不懂,难道是适用于整个App都是UIWebView的?请高手赐教)

第二个大坑:我讨厌升级,因为升级手机系统就要升级Xcode系统才能调试,升完Xcode,还要升级系统。。。然而,为了了解ARKit,我升了我的手机。。。发现App竟然没有定位上传了。。。这也解释了为什么我已经改版了用户量还是没有增长。。

原来,在iOS11系统中,苹果增加了两个属性,是为了防止用户只能选择不用(Never)或者始终使用(Always)。而我的App便中枪了。
苹果现在增加了一项新的隐私保护功能 NSLocationAlwaysAndWhenInUseUsageDescription,

并且原有的 NSLocationAlwaysUsageDescription 被降级为 NSLocationWhenInUseUsageDescription

而且在添加的时候,必须添加两个:NSLocationAlwaysAndWhenInUseUsageDescription和NSLocationWhenInUseUsageDescription,如果只有Always,不会弹窗;如果只有whenInUse也不会弹窗;必须两个都有才会弹出

定位在iOS10和iOS11中,被我踩到的大坑,导致我的一款App用户量骤降_第1张图片

必须给用户两个选择才行。。。。

疯了疯了,还有第三个大坑:在iOS11系统前,我一直没有在info.plist文件里添加NSLocationUsageDescription,退到后台,依然可以定位;但是在iOS11系统中,如果不添加,退到后台是无法定位的。。。

三个大坑,说明了适配系统是多么重要。要时刻关注iOS系统的变化。以前不重视,现在自己搞东西,才发现太影响了。

欢迎大家关注公众号,持续关注和使用我的App


定位在iOS10和iOS11中,被我踩到的大坑,导致我的一款App用户量骤降_第2张图片

你可能感兴趣的:(定位在iOS10和iOS11中,被我踩到的大坑,导致我的一款App用户量骤降)