SecAccessControlCreateFlags rawValue changed type with no availability guard

Originator:brianaking
Number:rdar://26789524 Date Originated:
Status:Open Resolved:
Product: Product Version:
Classification: Reproducible:
 
Summary:
SecAccessControlCreateFlags raw type changed from Int to UInt, and I don't know how to provide compatibility between 9.x and 10.x. This does not work:

                if #available(OSX 10.12, *) {
                    let flags = SecAccessControlCreateFlags(rawValue: uintRepresentation)
                } else {
                    let flags = SecAccessControlCreateFlags(rawValue: intRepresentation)
                }

There's no #if available() functionality that I can find. It appears that this change can not be source compatible with previous SDK releases

Steps to Reproduce:
Try to create a SecAccessControlCreateFlags object in a way that is compatible with 10.11 and 10.12 in the same file

Expected Results:
It would be possible

Actual Results:
It is not.

Version:
OSX 10.12 / iOS 10

Notes:


Configuration:
Xcode beta

Attachments:

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!