当前位置:  开发笔记 > IOS > 正文

secItemAdd在swift中保持返回-50错误

如何解决《secItemAdd在swift中保持返回-50错误》经验,为你挑选了1个好方法。

尝试在安全链中添加项目时,请继续获取-50.

    var query = [String:AnyObject]()
    query[kSecClass as String] = kSecClassGenericPassword
    query[kSecAttrAccount as String] = "a"
    query[kSecValueData as String] = "b"
    let result = SecItemAdd(query as CFDictionary, nil);

结果是-50.无法弄清楚为什么,需要帮助..在此先感谢.



1> Tim..:

我相信kSecValueData密钥的值需要是NSData,而不是String或NSString.尝试将字符串编码为数据(例如使用UTF-8编码).未经测试的片段:

query[kSecValueData as String] = "b".dataUsingEncoding(NSUTF8StringEncoding)

为了将来参考,错误代码-50对应于errSecParam,SecBase.h头文件的含义为:"传递给函数的一个或多个参数无效." 如果再次看到此错误,请尝试使用查询字典更改传入的值.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有