Связывание libiconv на ios

Я пытаюсь использовать библиотеку Objective-Git для приложения IOS, которое я нахожусь в процессе разработки. Я могу заставить библиотеку компилироваться, связываться и отлично работать в симуляторе. Однако, когда я пытаюсь запустить приложение на реальном iPad, я получаю следующую ошибку:

Undefined symbols for architecture armv7s:
  "_libiconv", referenced from:
      _git_path_iconv in libObjectiveGit-iOS.a(path.c.o)
  "_libiconv_close", referenced from:
      _git_path_iconv_clear in libObjectiveGit-iOS.a(path.c.o)
  "_libiconv_open", referenced from:
      _git_path_iconv_init_precompose in libObjectiveGit-iOS.a(path.c.o)
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я считаю, что проблема в том, что я компилирую библиотеку libgit2 с другой версией iconv, чем та, которая включена в ios. Тем не менее, я испортил скрипт сборки, пытаясь заставить его связать его с версией ios, но ошибка не исчезла. Как мне правильно связать библиотеку iconv, чтобы я мог запустить приложение на реальном устройстве?

1 ответ

Вам нужно добавить libiconv.tbd раздел "Связать двоичные файлы с библиотеками" на этапах сборки.

Примечание: я знаю ObjectiveGit Исправлена ​​эта проблема, но, возможно, это помогает другим, кто пытается использовать iconv в своих проектах.

Другие вопросы по тегам