我正在考虑使用 MonoTouch 将我的应用程序从标准 iOS Objective C 转换为 C#。
在我的 Objective C 代码中,我正在生成一个唯一标识符并将其保存到 NSUserDefaults 以验证和检查后续登录。这是我为此使用的方法:
- (NSString *) localUuid {
NSString * ident = [[NSUserDefaults standardUserDefaults] objectForKey:UUID];
if(!ident){
CFUUIDRef uuidRef = CFUUIDCreate(NULL);
CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
CFRelease(uuidRef);
ident = [NSString stringWithString:(__bridge_transfer NSString *)uuidStringRef];
[[NSUserDefaults standardUserDefaults] setObject:ident forKey:UUID];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return ident;
}
不过,我在使用 MonoTouch 获得类似于在 C# 中工作的问题时遇到了问题。
我还没有找到可用于 Mono 的 CFUUID_ 方法版本。
此外,虽然似乎有一个 NSUserDefaults.StandardUserDefaults.SetValueForKey 方法,但没有一个简单的 GetValueForKey 方法。
有没有比 Monotouch 更有经验的人知道更好的方法?