SFCertificateView, bis repetita placent

Theory


According to the Developer's documentation, the SFCertificateView class can post the SFCertificateViewDisclosureStateDidChange notification to inform the observers that the Trust or Details disclosure triangles have been opened or closed.


https://developer.apple.com/reference/securityinterface/sfcertificateview/1661777-notifications?language=objc


Reality


When you try to build a project (which does link to the SecurityInterface framework) that contains a reference to the SFCertificateViewDisclosureStateDidChange string, the build will fail:


the _SFCertificateViewDisclosureStateDidChange symbol can not be found.


Which is somehow "funny" considering that the symbol is defined in the /System/Library/Frameworks/SecurityInterface.framework framework.


What is even "hilarious" is that in 2010 I was suggested on the cdsa mailing-list that a bug report should be filed to make sure the SFCertificateViewDisclosureStateDidChange get added to the public header of the SecurityInterface framework.


Workaround


Using @"SFCertificateViewDisclosureStateDidChange" instead of SFCertificateViewDisclosureStateDidChange works.


Bug report


I've already filed a bug report against this -> Problem ID# 30143127


Questions


  • Should I also file a bug report against the documentation?
  • Is there any plan to improve the SecurityInterface framework by modernizing the Objective-C APIs?
    • properties
    • more consistent method naming (e.g. SFCertificateView isTrustDisplayed vs detailsDisplayed)
    • designed for ARC: e.g. to avoid having to keep a f****g reference to SFChooseIdentityPanel not to crash during the sheet lifetime.
    • completion handler blocks

Replies

I've already filed a bug report against this -> Problem ID# 30143127

Thanks.

Should I also file a bug report against the documentation?

Please do.

Is there any plan to improve the SecurityInterface framework by modernizing the Objective-C APIs?

Only an Apple person can give you a meaningful answer to that question, and we’re not allowed to talk about un-announced plans. Bug please feel free to file a bug report that documents this request.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"