[Swift2]SecItemCopyMatchingの引数が変わった

Security FrameworkのSecItemCopyMatchingの引数が変わり、かなりはまったので、メモ

Swift1では

var result: Unmanaged<AnyObject>?
var status: OSStatus = SecItemCopyMatching(query as CFDictionaryRef, &result)

このように書けていましたが、第2引数がUnsafeMutablePointerをとるようになったのと、&が使えなくなったので、 以下のように書き換える必要がありました。

var result: Unmanaged<AnyObject>?
let pointer: UnsafeMutablePointer<AnyObject?> = UnsafeMutablePointer((result?.toOpaque())!)
var status: OSStatus = SecItemCopyMatching(query as CFDictionaryRef, pointer)