也许我错过了一些基本的东西,但我甚至无法为iOS 6/7创建一个NSUUID。
我试过像
这样的东西NSUUID *uuid = [NSUUID alloc] ;
[uuid initWithUUIDString:@"bec26202-a8d8-4a94-80fc-9ac1de37daa6"];
放入我的应用程序的applicationDidFinishLaunchingWithOptions方法,并在实际的iPhone上运行,我得到了
线程1:EXC_BAD_ACCESS(代码= 2,地址= 0x18cb76be3)
错误,当然应用程序崩溃。
我甚至尝试了另一种方法
NSUUID * nsuuid = [[UIDevice currentDevice] identifierForVendor];
也会崩溃。
我下载了Airdrop example,在某些时候使用了代码
NSString * _filename = [NSString stringWithFormat:@"profile-%@.customprofile", [[[NSUUID UUID] UUIDString] substringWithRange:NSMakeRange(24, 12)]];
虽然在演示中运行良好,但是当我将此代码复制到我自己的代码时,它再次崩溃。
所以......我被困了......有什么想法吗?
答案 0 :(得分:0)
要创建NSUUID字符串,请执行以下操作...
NSString *uuid = [[NSUUID UUID] UUIDString];
答案 1 :(得分:0)
我尝试了你发布的代码来生成UUID,但我没有遇到崩溃。崩溃可能是由代码中的其他内容引起的。在Xcode中,转到Breakpoint Navigator,然后添加All Exceptions。它将在您的代码中找到异常的断点。
答案 2 :(得分:0)
为了关闭这个帖子,我发现了问题。 谢谢所有人的帮助。
问题在于某些代码通过类别覆盖了NSUUID的“init”选择器,并且未正确返回“self”。
因此,虽然“alloc”有效,但任何类型的“init”都没有。