小编Jas*_*son的帖子

将电子邮件/密码保存到iOS中的钥匙串

我对iOS开发很新,请原谅我这是一个新手问题.我的应用程序有一个简单的身份验证机制,它使用用户的电子邮件地址和密码.我也有一个开关,上面写着'记住我'.如果用户切换该开关,我想保留他们的电子邮件/密码,以便将来可以自动填充这些字段.

我已经得到了保存到plist文件的工作,但我知道这不是最好的主意,因为密码是未加密的.我找到了一些保存到钥匙串的示例代码,但说实话,我有点迷路了.对于下面的功能,我不知道如何调用它以及如何修改它以保存电子邮件地址.

我猜它会叫: saveString(@"passwordgoeshere");

感谢您的任何帮助!!!

+ (void)saveString:(NSString *)inputString forKey:(NSString *)account {

    NSAssert(account != nil, @"Invalid account");
    NSAssert(inputString != nil, @"Invalid string");

    NSMutableDictionary *query = [NSMutableDictionary dictionary];

    [query setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass];
    [query setObject:account forKey:(id)kSecAttrAccount];
    [query setObject:(id)kSecAttrAccessibleWhenUnlocked forKey:(id)kSecAttrAccessible];

    OSStatus error = SecItemCopyMatching((CFDictionaryRef)query, NULL);
    if (error == errSecSuccess) {
        // do update
        NSDictionary *attributesToUpdate = [NSDictionary dictionaryWithObject:[inputString dataUsingEncoding:NSUTF8StringEncoding] 
                                                                      forKey:(id)kSecValueData];

        error = SecItemUpdate((CFDictionaryRef)query, (CFDictionaryRef)attributesToUpdate);
        NSAssert1(error == errSecSuccess, @"SecItemUpdate failed: %d", error);
    } else if (error == errSecItemNotFound) {
        // do add
        [query setObject:[inputString dataUsingEncoding:NSUTF8StringEncoding] forKey:(id)kSecValueData]; …
Run Code Online (Sandbox Code Playgroud)

ios

56
推荐指数
2
解决办法
3万
查看次数

表视图有两个"列"?

我是Xcode和Objective C的新手,但我似乎无法在我想创建的简单表上找到教程.我想要一个只有三行但两列的表(分组样式).A列有一个标签(如'Name:'),B列有实际数据("Jason").

我似乎无法找到如何做到这一点.除非我只是完全查找错误的东西?希望有人可以帮助我如何做到这一点或指出我正确的方向.

谢谢!!

uitableview ios

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

ios ×2

uitableview ×1