Ошибка компоновщика Swift Apple Mach-O

Я преобразовал свой проект из Swift 3 в Swift 4 и использую последнюю версию xcode 9. При сборке я получаю следующую ошибку:

Undefined symbols for architecture arm64: "__T0So22AVCapturePhotoSettingsC12AVFoundation01_abC16SwiftNativeTypesACWP", referenced from: __T06SpotMi8CameraVCC12capturePhotoyypF in CameraVC.o "__T012AVFoundation39_AVCapturePhotoSettingsSwiftNativeTypesPAAE016availablePreviewc11PixelFormatG0SaySo8NSNumberCGfg", referenced from: __T06SpotMi8CameraVCC12capturePhotoyypF in CameraVC.o ld: symbol(s) not found for architecture arm64 Я не в курсе. Любая помощь будет высоко ценится.

Ваше здоровье!


person Aakash Dave    schedule 21.09.2017    source источник
comment
@aakasj-dave У тебя есть какаоподы?   -  person Rajesh    schedule 21.09.2017
comment
Я тоже получаю эту ошибку! Вы решили это?   -  person dy_    schedule 21.09.2017
comment
@RajeshRajendiran да, я использую много стручков. Может ли это быть проблемой?   -  person Aakash Dave    schedule 21.09.2017
comment
@datayeah только сейчас. Разместил это на форуме Apple тоже.   -  person Aakash Dave    schedule 21.09.2017
comment
@RajeshRajendiran, я полагаю, это как-то связано с параметрами CapturePhotoSettings.   -  person Aakash Dave    schedule 21.09.2017
comment
я нашел решение. смотри мой ответ!   -  person dy_    schedule 21.09.2017
comment
@datayeah где ответ??   -  person Aakash Dave    schedule 21.09.2017


Ответы (1)


В XCode9 есть ошибка. Apple непреднамеренно сделала некоторые функции в AVFoundation закрытыми.

Обходной путь:

Измените availablePreviewPhotoPixelFormatTypes на __availablePreviewPhotoPixelFormatTypes в вашем источнике.

То же самое касается следующего:

supportedColorSpaces -> __supportedColorSpaces

supportedFlashModes -> __supportedFlashModes

availableRawPhotoPixelFormatTypes -> __availableRawPhotoPixelFormatTypes

availablePhotoPixelFormatTypes -> __availablePhotoPixelFormatTypes

Тогда он может скомпилироваться! Удачи!

person dy_    schedule 21.09.2017
comment
Хорошо, дай мне попробовать и сообщить тебе. Спасибо хоть - person Aakash Dave; 21.09.2017
comment
Хорошо! Это двойной _ . Я ставил одну. - person Aakash Dave; 21.09.2017
comment
Спасибо! Как вы поняли эту идею? Кто бы знал, чтобы добавить два подчеркивания. - person triiiiista; 30.09.2017