iPhone iOS 如何以编程方式从唯一的用户 ID 生成像堆栈溢出所使用的头像?

标签 iphone objective-c ios gravatar

我正在开发一款可能需要遵守 HIPAA 要求的医疗应用,并且我正在考虑一种在应用中唯一识别多个用户的好方法> 不使用名称或图片。我想到了彩色图形头像的概念,就像 StackOverflow 使用的那样。

是否有某种库可以用于这种动态图形创建? 我有兴趣获取头像的 UIImage 表示形式。

应用程序的部分要求可能是向其他用户发送消息,我认为能够从用户 ID 动态生成头像比担心发送/接收/缓存常规用户头像要好得多。

感谢您的想法!

最佳答案

您可以找到有关生成头像here的详细信息

如果您想从 iOS 执行此操作,则需要一种方法来生成用户 ID 的哈希值。 Here is a category to add an MD5 hashing method to the NSString class

如果您将上面链接中的 NSString 类别添加到您的项目中,则可以对用户 ID 进行哈希处理并构建一个 url,为您的用户生成唯一的头像图像,如下所示:

int userID = 123456;

NSString *hashedUserID = [[NSString stringWithFormat:@"%i", userID] MD5];
NSString *gravatarURLString = [NSString stringWithFormat:@"http://www.gravatar.com/avatar/%@?d=identicon", hashedUserID];
NSURL *gravatarURL = [NSURL URLWithString:gravatarURLString];

然后您可以使用该 URL 创建 NSURLRequest 来请求图像并将其显示在您的应用中。

关于iPhone iOS 如何以编程方式从唯一的用户 ID 生成像堆栈溢出所使用的头像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605914/

相关文章:

c++ - iOS 上的 OpenCV 对象检测 (HOGDescriptor)

objective-c - 如何在 Swift 中使用包含前向声明 Swift 类的 ObjC 类的方法?

ios - 调试 iPhone Chrome

ios - 使用 AVAssetWriter 重新编码 H264 mov 文件 - 如何设置帧率?

iphone - 仅在另一个 UIImage 内部移动 UIImage

iphone - 如果我无法在 180 天内将二进制文件上传到应用商店,会发生什么情况?

iphone - RestKit 请求似乎只工作一次

iphone - 使用 drawRect 自定义 UITableViewCell 的编辑模式

iphone - ViewController 在 iOS6 上不旋转

iphone - 设置UITableView右侧显示的SectionIndex的宽度?