SecCopyErrorMessageString gives “Use of unresolved identifier” in swift

本小妞迷上赌 提交于 2019-12-01 19:10:47

问题


Trying to use SecCopyErrorMessageString to interpret errorCode. in swift :

    var result: OSStatus
    result = SecItemAdd(query as CFDictionary, nil);


    if result != errSecSuccess {
    let errorDescription = SecCopyErrorMessageString(result,nil)
   //     NSLog("Keychain Error: %@", errorDescription)

The error of "Unresolved identifier" starts from "SecCopyError..."


回答1:


The SecCopyErrorMessageString function only became available on iOS in version 11.3. Prior to that, it could only be used on OS X.




回答2:


The above answer is a bit outdated, according to Apple, iOS 11.3, tvOS 11.3 and watchOS 4.3 started to support this since the beta version of SDK.

You'd need to compile against those supported SDKs to use that function. Otherwise, only macOS support that for now.




回答3:


It may not be obvious: This API is part of the Security framework. You need to add the framework to your project target's Build Phases > Link Binary With Libraries.



来源:https://stackoverflow.com/questions/34053049/seccopyerrormessagestring-gives-use-of-unresolved-identifier-in-swift

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!