我观察到,在iOS9和iOS10上,如果删除现有的App然后再安装,deviceToken会发生变化。这就导致了一个设备对应多个deviceToken,对于推送的准确度来说不是问题,因为LeanCloud会根据channels来选择推送对象,deviceToken虽然有多个,但是channels有对应用户的条目还是只有一个。
但是_installation表会越来越庞大,这将来会不会是一个性能问题?
解决办法我通过搜索,有人提到把UUID保存到KeyChain,这样除了刷机的话一个设备就对应了一个UUID。然后在保存deviceToken的时候,先检测一下deviceToken和app本地AVInstallation缓存对比有没有发生变化,如果发生了变化,就去_installation表里面找一个UUID字段,看这个字段是否存在,如果存在就覆盖UUID对应的的 deviceToken,这个方案是否可行?
谢谢!