0

我遇到 [[NSUUID UUID] UUIDString] 总是返回 nil 的问题

我正在使用iOS9。这个调用总是返回'nil'我做错了什么?

NSUUID *uuid = [NSUUID UUID];
NSString *uuidString = [uuid UUIDString];
if(uuidString == nil) uuidString =[[NSUUID UUID] UUIDString];
if(uuidString == nil) return;

我两种方法都试过了,总是零。

在断点代码信息图标显示此消息:

(NSUUID *) uuid = no location, value may have been optimized out
4

2 回答 2

0

这行得通,这确实是我所需要的,一个可靠的唯一字符串,用于在短时间内管理异步消息。当我准备好在发布应用程序的新版本之前进行最终测试时,我将在稍后重新安装 Xcode。

- (NSString *)getUUID
{
    NSMutableString *randomString = [NSMutableString stringWithCapacity: gf_uuidLen];
    NSString *chars = [NSString stringWithFormat:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"];
    for (int i=0; i<gf_uuidLen; i++) {
        [randomString appendFormat: @"%C", [chars characterAtIndex: arc4random_uniform((unsigned int)[chars length])]];
    }
    return randomString;
}
于 2015-10-03T19:40:31.863 回答
0

您必须在所有 iOS 设备上使用。它从 6-9 iOS 版本在我身边工作..

+ (NSString *)makeUUID {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    NSString *uuidString = (__bridge_transfer NSString *) CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return uuidString;
}
于 2015-10-02T13:36:37.673 回答