为什么iOS应用程式更新时会获得新的标识符FORVendor?

为什么iOS应用程式更新时会获得新的标识符FORVendor?,第1张

概述每当我的应用程序从App Store更新时,由于某些原因,一小部分用户获得了一个新的标识符FORVendor.我的用户不注册或登录.它们都是匿名的,所以我需要通过他们的供应商ID分隔它们. 我认为在某些设备上可能没有足够的空间,导致应用程序被删除和重新安装,但事实并非如此,因为在上次更新中,我的一个朋友拥有超过2GB的空白空间. 我知道,对于删除并重新安装该应用程序的用户,更改了identifie 每当我的应用程序从App Store更新时,由于某些原因,一小部分用户获得了一个新的标识符FORvendor.我的用户不注册或登录.它们都是匿名的,所以我需要通过他们的供应商ID分隔它们.

我认为在某些设备上可能没有足够的空间,导致应用程序被删除和重新安装,但事实并非如此,因为在上次更新中,我的一个朋友拥有超过2GB的空白空间.

我知道,对于删除并重新安装该应用程序的用户,更改了IDentifIErForvendor.但是情况并非如此,因为应用程式刚刚更新.

问题是什么?奇怪的是,这还没有发生在开发团队设备上.或者仍然有用户在无数的应用更新, *** 作系统更新等之后没有遇到此错误.这只会发生在一小部分用户中.所有用户都是iOS7,它适用于不同的设备型号和iOS版本.

我使用这段代码来获取他们的ID:

static let deviceid = UIDevice.currentDevice().IDentifIErForvendor.UUIDString

然后我将它们保存到NSUserDefaults中:

NSUserDefaults.standardUserDefaults().setBool(true,forKey: "User" + deviceid)NSUserDefaults.standardUserDefaults().synchronize()

然后在每次新的登录时检查用户是否存在:

static func doesUserExist() -> Bool {    var userDefaultValue: AnyObject? = NSUserDefaults.standardUserDefaults().valueForKey("User" + deviceid)    if defaultValue == true {        println("Userdefaults already has this guy,moving on")        FirstTime = false        return true    } else {        println("First time in the app!")        FirstTime = true        return false    }}

如果用户确实存在,则启动登录过程.如果用户不存在,则显示注册过程.我使用Parse.com作为后端,deviceid用作用户名.当这么少的用户遇到这个错误时,我看到一个新的用户名和一个新的帐户创建.

解决方法 在5月和7月之间更新应用程序商店中的应用程序时,会出现一个错误,影响了计算的标识符.苹果声称已经解决了这个问题,并推出另一个更新应该在关键日期之前恢复原始价值.
参考: https://openradar.appspot.com/22677034

请注意,有些用户仍然观察到这个问题甚至更新了七月后的几周.因此,仍然有可能在某些情况下仍然存在错误,或者将来可能会随时重现错误.因此,如果您将此数据用作加密的一部分,最好将其保存到钥匙串.

总结

以上是内存溢出为你收集整理的为什么iOS应用程式更新时会获得新的标识符FORVendor?全部内容,希望文章能够帮你解决为什么iOS应用程式更新时会获得新的标识符FORVendor?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1110639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存