Ошибки компоновщика в GoogleMobileVision при использовании Firebase ML Kit на iOS без кокаподов

Я пытаюсь добавить MLVisionTextModel Firebase 5.0.1 в проект Xcode без кокоаподов. Я добавил все зависимые фреймворки, как указано в файле Readme.md. Получение следующих ошибок компоновщика:

Showing All Messages "_OBJC_CLASS_$_LAContext", referenced from: objc-class-ref in GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) "_vImageConverter_CreateWithCGImageFormat", referenced from: +[GMVUtility(Internal) sampleBuffer32BGRATo32RGBA:] in GoogleMobileVision(GMVUtility+Internal_1a3089c1f18dbb4046735909972b8cb2.o) " _vImageConvert_AnyToAny", referenced from: +[GMVUtility(Internal) sampleBuffer32BGRATo32RGBA:] in GoogleMobileVision(GMVUtility+Internal_1a3089c1f18dbb4046735909972b8cb2.o) "_vImageConverter_Release", referenced from: +[GMVUtility(Internal) sampleBuffer32BGRATo32RGBA:] in GoogleMobileVision(GMVUtility+Internal_1a3089c1f18dbb4046735909972b8cb2.o) " _vImageBuffer_InitWithCGImage", на который ссылается: +[GMVUtility(Internal) rgbaPixelDataFromCGImage:] в GoogleMobileVision(GMVUtility+Internal_1a3089c1f18dbb4046735909972b8cb2.o) "_vImageRotate_ARGB8888", на который ссылается: +[GMVUtility (Internal) rotatePixelData:width:height:bytesPerRow:withAngle:] in GoogleMobileVision(GMVUtility+Internal_1a3089c1f18dbb4046735909972b8cb2.o) "_vImageHorizontalReflect_ARGB8888", referenced from: +[GMVUtility(Internal) flipRGBA8888Horizontally:width:height:bytesPerRow:] in GoogleMobileVision(GMVUtility+ Internal_1a3089c1f18dbb4046735909972b8cb2.o) "_vImagePermuteChannels_ARGB8888", referenced from: +[GMVUtility(Internal) permutate:width:height:bytesPerRow:order:] in GoogleMobileVision(GMVUtility+Internal_1a3089c1f18dbb4046735909972b8cb2.o) "_vImageFlatten_RGBA8888ToRGB888", referenced from: +[GMVUtility(Internal) flattenRGBA8888ToRGB888:width:height:bytesPerRow:] в GoogleMobileVision(GMVUtility+Internal_1a3089c1f18dbb4046735909972b8cb2.o) ld: не найдены символы для архитектуры x86_64

Любая помощь приветствуется.


person avdhut    schedule 21.05.2018    source источник


Ответы (2)


Проблема была решена после добавления Accelerate.framework как часть этапов сборки в Xcode.

person avdhut    schedule 30.05.2018

Платформы Firebase создаются статически, поэтому, если вы добавляете их в свой проект вручную, они не должны находиться под встроенными двоичными файлами в xcode под вашим целевым приложением. Если он у вас есть, его удаление должно решить проблему.

person jugutier    schedule 21.05.2018
comment
Добавил их всех под Linked Frameworks and Libraries. Нет записей под Embedded Binaries. - person avdhut; 22.05.2018
comment
Вы добавили все необходимые для GoogleMobileVision фреймворки? Они будут в той же папке, если вы скачали отсюда firebase.google.com/docs/ ios/setup#frameworks - person jugutier; 22.05.2018
comment
Добавляются ли они также в пути поиска фреймворка и пути поиска заголовков? Можете ли вы поделиться репозиторием github с текущими настройками проекта? Также я вижу, что вы пытаетесь скомпилировать для симулятора, вы получаете тот же результат, если работаете на телефоне? Наконец, методы, к которым вы пытаетесь получить доступ, относятся к категории GMVUtility, называемой внутренними, что заставляет меня думать, что эти заголовки должны быть скрыты. Если вы просматриваете фреймворк в файловой системе - person jugutier; 22.05.2018
comment
Можете ли вы найти GMVUtility+Internal.h? - person jugutier; 22.05.2018
comment
Я добавил все необходимые фреймворки из Firebase для FirebaseMLVisionTextModel вместе с системными фреймворками LocalAuthentication и StoreKit. Путь Framework также добавляется в пути поиска Framework и Header. Когда я проверяю GoogleMobileVision.framework в файловой системе, я могу найти только GMVUtility.h, а не GMVUtility+Internal.h. - person avdhut; 23.05.2018
comment
Итак, похоже, что в GoogleMobileVision отсутствует одна из его зависимостей, пожалуйста, проверьте по ссылке, которую я вам отправил выше, что у вас есть все фреймворки в папке для видения. Если возможно, удалите то, что у вас есть, и добавьте обратно оттуда. У меня это заработало на прошлой неделе, так что в противном случае вы можете поделиться проектом на GitHub, и я посмотрю. - person jugutier; 23.05.2018
comment
Я добавил все зависимости из ссылки, которой вы поделились. Я использую Firebase SDK v5.1.0. Я загрузил свой проект Xcode по следующей ссылке WeTransfer: wetransfer.com/downloads/ - person avdhut; 24.05.2018
comment
Можете ли вы поделиться файлом GMVUtility+Internal.h, если он у вас есть? - person avdhut; 29.05.2018
comment
У меня его нет. Вероятно, это часть частных заголовков Google, и поэтому они не делятся им. Я скачал проект, которым вы поделились, но он не компилируется, отсутствуют файлы 'rhodes'. Однако я вижу в пути поиска фреймворка, у вас есть $(PROJECT_DIR)/Frameworks , можете ли вы установить его на рекурсивный и посмотреть, решит ли это проблему? - person jugutier; 29.05.2018
comment
Эй, спасибо за помощь! Проблема была решена после добавления фреймворка Accelerate. - person avdhut; 30.05.2018