相关疑难解决方法(0)

UIDevice uniqueIdentifier已弃用 - 现在该怎么办?

刚刚看到UIDevice uniqueIdentifier属性iOS 5中已弃用,在iOS 7及更高版本中不可用.似乎没有替代方法或财产可用或即将出现.

我们的许多现有应用程序都严格依赖此属性来唯一标识特定设备.我们如何处理这个问题呢?

2011 - 2012文件中的建议是:

特别注意事项

不要使用uniqueIdentifier属性.要创建特定于应用程序的唯一标识符,可以调用该CFUUIDCreate函数创建一个UUID,并使用NSUserDefaults该类将其写入默认数据库.

但是,如果用户卸载并重新安装应用程序,则此值将不同.

deprecated uidevice ios

498
推荐指数
12
解决办法
16万
查看次数

以编程方式获取IOS设备的UDID?

我想以编程方式获取iOS设备的UDID.我使用以下代码来获取iOS设备的UDID.

NSUUID *uuid = [NSUUID UUID];
NSString *uuidString = uuid.UUIDString;
Run Code Online (Sandbox Code Playgroud)

但我得到的输出与我的设备的实际UDID不同.

iphone objective-c udid ios

18
推荐指数
1
解决办法
4万
查看次数

如何在iPhone中获取应用程序安装时间

有没有办法在iPhone上获得应用程序的激活时间?我想将此信息用作唯一标识符,我可以将其用于此目的吗?

iphone installation ipad ios ios6

3
推荐指数
2
解决办法
2763
查看次数

如何以编程方式从ios7设备获取未更改的设备ID

我需要获取唯一的设备ID来填充数据库中的唯一用户ID.我使用以下代码来实现.

NSString *strApplicationUUID= [[[UIDevice currentDevice] identifierForVendor] UUIDString];

但是当我重新安装应用程序时,UUID一直在变化.但据我所知,设备ID永远不会改变.为此,我使用下面的代码与第三方SSKeychain保存并检索旧的UDID:

NSString *Appname = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
    NSString *strApplicationUUID = [SSKeychain passwordForService:Appname account:@"manab"];
    if (strApplicationUUID == nil)
    {
        strApplicationUUID  = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
        [SSKeychain setPassword:strApplicationUUID forService:Appname account:@"manab"];
    }
Run Code Online (Sandbox Code Playgroud)

现在问题是当该应用程序的版本被更改时,即app v2.0表单app v1.0然后UDID再次更改.所以逻辑很清楚我没有得到唯一的UDID,我只是将UDID作为供应商或应用程序的基础.

如何以编程方式获得它?有没有其他办法,请告诉我正确的方向.

uuid ios ios7

3
推荐指数
1
解决办法
7396
查看次数

标签 统计

ios ×4

iphone ×2

deprecated ×1

installation ×1

ios6 ×1

ios7 ×1

ipad ×1

objective-c ×1

udid ×1

uidevice ×1

uuid ×1