我已经用Google搜索了这个问题,但我没有得到任何结果..
问题是:如何在我的数据库中注册具有唯一标识符的设备?
我知道:
- 不推荐使用UDID
,因此Apple拒绝使用它的应用程序
- 如果我重新安装我的应用两次或更多次,identifierForVendor
可能会发生变化
- 我可以使用user registration
获取唯一标识,但我认为这不是正确的方法
现在我使用该代码:
NSString *deviceUuid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
解决此问题的最佳方法是什么?
答案 0 :(得分:0)
您只能将设备令牌用于Apple推送通知。推送通知服务器API将仅接受设备令牌,并且还将检查是否允许您通过检查证书向该安装发送通知。
设备令牌对于特定设备上的应用是唯一的。如果用户有多个设备,他/她也将拥有多个设备令牌(每个应用程序安装一个)。
当用户删除您的应用并重新安装时,设备令牌也可以更改。
另外,正如您在问题中正确提到的那样,开发人员不再使用UDID,Apple已限制使用UDID。
答案 1 :(得分:0)
您应该考虑识别和授权用户而不是设备的策略。取决于特定于设备的标识符,防止授权用户在没有某种管理员交互的情况下切换设备,并允许非授权用户在他们碰巧找到/窃取/借用授权设备时进行访问。您可以依靠用户凭据而不是设备标识符来避免这些问题。接受的答案iOS7 - Device unique identifier。
所以你应该使用 - (void)setAuthorizationToken:(NSString )authorizationToken; - (NSString的)authorizationToken; - (void)setIPhoneToken:(NSString *)iPhoneToken; - (Nsstring *)iPhoneToken:(NSString *)iPhoneToken;