Swift (iOS 8 SDK) converte <ABMultiValueRef> não gerenciado em ABMultiValueRef

Preciso converter o valor de retorno dessa função da estrutura do AddressBook:

ABRecordCopyValue(nil, kABPersonPhoneProperty)

para um valor do tipo ABMultiValueRef

Esta função está atualmente marcada como esta:

func ABRecordCopyValue(record: ABRecordRef!, property: ABPropertyID) -> Unmanaged<AnyObject>!

Para que eu possa convertê-lo em Não gerenciado da seguinte forma:

ABRecordCopyValue(person, kABPersonPhoneProperty) as Unmanaged<ABMultiValueRef>

Mas como posso obtê-lo como um ABMultiValueRef para que eu possa passar para essa função?

func ABMultiValueGetIndexForIdentifier(multiValue: ABMultiValueRef!, identifier: ABMultiValueIdentifier) -> CFIndex

Eu fiz isso:

let managedPhones = Unmanaged.fromOpaque(phones.toOpaque()).takeUnretainedValue() as ABMultiValueRef

E continuo recebendo esse erro do compilador:

Bitcast requires both operands to be pointer or neither
%89 = bitcast %objc_object* %88 to %PSs9AnyObject_, !dbg !325
LLVM ERROR: Broken function found, compilation aborted!
Command /Applications/Xcode6-Beta3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 1

questionAnswers(3)

yourAnswerToTheQuestion