wildfirechat / ios-chat

即时通讯,聊天,野火IM iOS客户端
http://docs.wildfirechat.cn
Other
1.17k stars 507 forks source link

获取 clientId 在某种情况下存在问题(ios开源版) #303

Closed wulaijunzi closed 2 years ago

wulaijunzi commented 3 years ago

获取 clientId 在某种情况下存在问题(ios开源版) 同一个苹果开发者账号下,有两个APP,在没有发布到APPStore之前,获取的clientId(即:IDFV)是不相同的, 但是发布到APPStore以后,获取的clientId是相同的,换取的Token也相同,出现登录互踢情况

(IDFV(identifierForVendor)使用陷阱) https://easeapi.com/blog/blog/63-ios-idfv.html

heavyrain2012 commented 3 years ago

请参考 https://github.com/wildfirechat/ios-chat/commit/bcdd957c7df94f97e223a048e32eb3197c022065 提交。把注释部分打开替换identifierForVendor。注意已经登录过的用户更新过后,clientId就发生了变化,需要重新登录或者应用层自动处理登录。

heavyrain2012 commented 2 years ago

已经彻底解决,解决方法是如果已经用了identifierForVendor,就把这个id写入到userdefault中,如果没有用过就生成一个uuid写入到userdefault中。以后都是从userdefault中获取,这样升级的程序就可以继续用identifierForVendor,新安装的则会用uuid。