При попытке получить SwiftAddressBook установить с CocoaPods, компилирование дает мне следующую ошибку:LLVM Ошибка: Тип вызова параметров не соответствует сигнатуре функции
Call parameter type does not match function signature! %V16SwiftAddressBook15MultivalueEntry.87* %0 %V16SwiftAddressBook15MultivalueEntry.85* tail call void @_TFFC16SwiftAddressBook22SwiftAddressBookPersonP33_ECEF355CFD253D8039C191CB27BDAECD24convertMultivalueEntriesFS0_U_Ss9AnyObject__FTGSqGSaGVS_15MultivalueEntryQ____9converterFQ_Q0__GSqGSaGS2_Q0____U_FGS2_Q__GS2_Q0__(%V16SwiftAddressBook15MultivalueEntry.87* noalias sret %0, %V16SwiftAddressBook15MultivalueEntry.86* noalias %3, i8* %.fn.load, %swift.refcounted* %6, %swift.type* %8, %swift.type* %10), !dbg !8665 LLVM ERROR: Broken function found, compilation aborted!
Это, кажется, жалуются на следующий method:
private func convertMultivalueEntries<T,U : AnyObject>(multivalue : Array<MultivalueEntry<T>>?, converter : (T) -> U) -> Array<MultivalueEntry<U>>? {
return multivalue?.map { m -> MultivalueEntry<U> in
return MultivalueEntry(value: converter(m.value), label: m.label, id: m.id)
}
}
Если я отказываюсь от установки CocoaPods и просто копирую источник в свой основной проект, он компилируется просто отлично.
Есть ли способ упростить этот вызов метода, чтобы компилятор LLVM не задушил его? Или я неправильно настроил CocoaPod?
Ну, эта версия вылетает во время выполнения. – TAKeanice
Я был неправ, он не разбился. Однако это всего лишь обходной путь и не раскрывает истинной причины проблемы: ошибка в оптимизации компилятора! – TAKeanice