无法使用initWithUUIDString创建NSUUID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用initWithUUIDString创建NSUUID相关的知识,希望对你有一定的参考价值。

也许我遗漏了一些基本的东西,但我根本无法为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)]];

虽然在演示中运行良好,但当我将此代码复制到我自己的代码时,它再次崩溃。

所以...我被卡住了......任何想法?

答案

我尝试了你发布的代码来生成UUID,但我没有遇到崩溃。崩溃可能是由代码中的其他内容引起的。在Xcode中,转到Breakpoint Navigator,然后添加All Exceptions。它会在代码中找到异常的断点。

另一答案

要创建NSUUID字符串,请执行以下操作...

NSString *uuid = [[NSUUID UUID] UUIDString];
另一答案

为了关闭这个帖子,我发现了问题。谢谢所有人的帮助。

问题是一些代码通过类别覆盖了NSUUID的“init”选择器,并没有正确返回“self”。

因此,尽管“alloc”有效,但任何类型的“init”都没有。

以上是关于无法使用initWithUUIDString创建NSUUID的主要内容,如果未能解决你的问题,请参考以下文章

停止测距信标区域

iBeacon:运行应用程序时没有调用 didRangeBeacons

循环EOF ssh -n无法创建文件

尝试使用继承但无法访问父类

如何解决错误:java.sql.SQLNonTransientConnectionException:无法创建与数据库服务器的连接

Linux中如何创建新分区啊?