Ios 无法使用initWithUUIString创建NSUID
也许我遗漏了一些基本的东西,但我甚至不能为iOS 6/7创建NSUID 我试过类似的东西Ios 无法使用initWithUUIString创建NSUID,ios,iphone,ios6,ios7,crash,Ios,Iphone,Ios6,Ios7,Crash,也许我遗漏了一些基本的东西,但我甚至不能为iOS 6/7创建NSUID 我试过类似的东西 NSUUID *uuid = [NSUUID alloc] ; [uuid initWithUUIDString:@"bec26202-a8d8-4a94-80fc-9ac1de37daa6"]; 在我的应用程序的ApplicationIDFinishLaunchingWithOptions方法上运行,并在实际的iPhone上运行,我得到了一个 线程1:EXC\u坏访问(代码=2,地址=0x18cb76b
NSUUID *uuid = [NSUUID alloc] ;
[uuid initWithUUIDString:@"bec26202-a8d8-4a94-80fc-9ac1de37daa6"];
在我的应用程序的ApplicationIDFinishLaunchingWithOptions方法上运行,并在实际的iPhone上运行,我得到了一个
线程1:EXC\u坏访问(代码=2,地址=0x18cb76be3)
错误,当然应用程序也会崩溃
我甚至尝试了另一种方法
NSUUID * nsuuid = [[UIDevice currentDevice] identifierForVendor];
它也会崩溃
我下载了,它在某个时候使用了代码
NSString * _filename = [NSString stringWithFormat:@"profile-%@.customprofile", [[[NSUUID UUID] UUIDString] substringWithRange:NSMakeRange(24, 12)]];
虽然在演示中运行良好,但当我将此代码复制到自己的代码时,它再次崩溃
所以。。。我被卡住了。。。有什么想法吗?要创建NSUID字符串,只需执行以下操作
NSString *uuid = [[NSUUID UUID] UUIDString];
我尝试了你发布的生成UUID的代码,但没有崩溃。崩溃可能是由代码中的其他内容引起的。在Xcode中,转到断点导航器,并添加所有异常。它将在发现异常的代码处设置断点
为了关闭此线程,我发现了问题。 谢谢大家的帮助 问题在于某些代码通过类别重写NSUID的“init”选择器,并且没有正确返回“self”
因此,尽管“alloc”起作用,但任何类型的“init”都没有起作用。它会在这些行上崩溃(并且Xcode停止),还是在您尝试访问“
uuid
”或“nsuid
”对象时崩溃?另外,当您尝试“UIDevice*currentDevice=[UIDevice currentDevice]时会发生什么;nsuid*nsuid=currentDevice.identifierForVendor;
“?我在我的设备上尝试了生成UUID的代码,但没有崩溃。我想这不是导致崩溃的部分。它在调用[uuid init…]部分时崩溃。它似乎不喜欢被“初始化”。