Подтвердить что ты не робот

Xcode дает ошибку компоновщика Apple Mach-O

Я только что скомпилировал проект, и Xcode возвращает эти две ошибки, которые, похоже, не являются моей ошибкой кода. Как их исправить?

Undefined symbols for architecture i386:
  "_vImageBoxConvolve_ARGB8888", referenced from:
      -[UIImage(Blur) boxblurImageWithBlur:] in UIImage+Blur.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4b9b3361

Ответ 1

Преподавание человека (или женщин), как ловить рыбу:

Обычно Маха-О-Linker Error означает, что вы не включили заголовочный файл для функции, которую вы используете в своем коде.

Самый простой способ - скопировать вызов этой функции или метода и вставить в быстрый поиск Xcode с помощью команды shift + + O. Это будет искать все фреймворки (и файлы заголовков), найти вызов функции или метода и показать его местоположение (заголовок в этом случае):

В этом случае этот вызов принадлежит структуре Accelerate, поэтому поверх вашего файла введите:

#import <Accelerate/Accelerate.h>

При выполнении быстрого поиска вам, возможно, придется избавиться от подчеркивания. Другими словами, поиск vImageBoxConvolve_ARGB8888

Надеюсь, что это поможет

Ответ 2

Google - ваш друг: кто-то еще исправил это, добавив фреймворк Accelerate в свой проект (и это выглядит как ошибка структуры).

https://github.com/rnystrom/RNBlurModalView/issues/5

Убедитесь, что вы также включили фреймворк QuartzCore, который также требуется этой библиотеке.

Ответ 3

Очевидно, vImageBoxConvolve_ARGB8888() не определен. Посмотрите, правильно ли включена инфраструктура Accelerate в проекте.