keybase / go-keychain

Golang keychain package for iOS and macOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deprecated libcall SecKeychainItemDelete

jdblack opened this issue · comments

Running the example code provided in readme.MD provides the following deprecation warning

cgo-gcc-prolog:53:11: warning: 'SecKeychainItemDelete' is deprecated: first deprecated in macOS 10.10 - SecKeychain is deprecated [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychainItem.h:257:10: note: 'SecKeychainItemDelete' has been explicitly marked deprecated here

Versions:
OSX Monterey 12.5.1
go 1.19
github.com/keybase/go-keychain v0.0.0-20221114143418-13d058a3d612

https://developer.apple.com/documentation/security/1400090-seckeychainitemdelete indicates that this call has indeed been deprecated.

It it looks like the new libcall is OSStatus SecItemDelete(CFDictionaryRef query) may be the replacement for OSStatus SecKeychainItemDelete(SecKeychainItemRef itemRef).

But we already have DeleteItem: https://github.com/keybase/go-keychain/blob/master/keychain.go#L521

Maybe #76 had the right idea and #77 should be reverted?