Swift 2 / iOS 9-libz.dylib нужна не найден
Я использую некоторые внешние коды от google в моем новом проекте Swift 2.0, который требовал "libz.dylib нужна" в более ранних версиях. После обновления до Нового XCode / нового SDK.
XCode теперь не может импортировать libz.dylib и выдает некоторые ошибки
неопределенные символы для архитектуры i386: "_deflate", ссылка из: +[GAICompressionUtil gai_dataByCompressingBytes: length:compressionLevel: mode:] in libGoogleAnalyticsServices.a (GAICompressionUtil.о) "_deflateEnd", ссылка из: +[GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel: mode:] в libGoogleAnalyticsServices.a (GAICompressionUtil.о) "deflateInit2", ссылается: +[GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel: mode:] в libGoogleAnalyticsServices.a (GAICompressionUtil.о) "_inflate", ссылка из: +[GAICompressionUtil gai_dataByInflatingBytes: length: isRawData:] в libGoogleAnalyticsServices.a (GAICompressionUtil.о) "_inflateEnd", ссылка из: +[GAICompressionUtil gai_dataByInflatingBytes:length: isRawData:] в libGoogleAnalyticsServices.a (GAICompressionUtil.о) " inflateInit2", ссылается: +[GAICompressionUtil gai_dataByInflatingBytes:length: isRawData:] в libGoogleAnalyticsServices.a (GAICompressionUtil.о) ld: символ(ы) не найден для архитектуры i386 лязг: ошибка: не удалось выполнить команду компоновщика с кодом выхода 1 (Используйте-v для просмотра вызова)
при просмотре доступных пакетов в настройках " этап сборки "я могу найти" libz.tbd", который, похоже, является заменой libz.dylib нужна. При импорте этой библиотеки ошибка компоновщика остается прежней, но я получаю это дополнительное предупреждение:
предупреждение: пропуск файла '/Применения/Xcode-бета.приложение/содержание/разработчик/платформы/iPhoneSimulator.платформа / разработчик / SDKs / iPhoneSimulator9.0.sdk/usr/lib / libz.tbd '(неожиданный тип файла "текст" в фазе сборки фреймворков и библиотек)
есть идеи, что делать?
8 ответов:
У меня была та же проблема. Я нашел какой-то обходной путь.
- перейти к этапам сборки > связать двоичный файл с Librairies > + > добавить другие
- один раз в окне выбора файла сделайте "CMD"+Shift+G (перейдите в папку) и введите /usr/lib/
- из /usr / lib вы можете добавить: libz.dylib и больше...
- компиляция и получайте удовольствие
libz.dylib теперь находится под libz.Подлежит определению цитата из форумов разработчиков Apple:
для тех, кто очень любопытный .файлы будут определены новые "текстовые заглушки библиотеки", которые обеспечивают гораздо более компактную версию заглушки библиотеки для использования в SDK, и помогают значительно уменьшить его размер файла.
надеюсь, больше документации будет приходить скоро.
edit
чтобы прояснить это, я приведу ответ Guitz с обновленным контентом
- перейти к этапам сборки > связать двоичный файл с Librairies > + > добавить другие
- один раз в окне выбора файла сделайте "CMD"+Shift+G (перейдите в папку) и введите /usr/lib/
- из /user / lib вы можете добавить:libz.tbd и многое другое...
- компилируйте и получайте удовольствие
удалите все динамические библиотеки (dylib) из фазы связывания с двоичными файлами. Он найдет эти библиотеки самостоятельно.
У меня есть эта проблема в проекте objective-C.iOS 9 охота.1,xcode7.1
1.Перейдите в цель> этапы сборки >связать двоичный файл с Librairies > +
2.выберите сайт libz.tbd и добавить его
Это сработало для меня
libz.dylib нужна, динамических Либ для работы с zlib, вы можете установить эту библиотеку отсюда http://zlib.net/
вы можете добавить libz.1.dylib из location: / usr / lib/
- перейти к этапам сборки > связать двоичный файл с Librairies > + > добавить другие
- один раз в окне выбора файла выполните CMD+Shift+G (перейдите в папку) и введите /usr/lib/
- из /user / lib вы можете добавить: libz.1.dylib нужна
Это сработало для меня.
вы также можете добавить
lybz.dylib
с "Другие Флаги Компоновщика" на Параметры Построения добавив аргумент-lz
.Я должен был сделать это, потому что, используя метод, где вы ссылаетесь на библиотеку из /usr/lib, когда я развернул свое приложение для наших тестеров .библиотека dylib не смогла решить и вызвала сбой приложения при запуске.
между тем вы можете использовать предыдущий SDK. Это мой ответ для libsqlite3:
https://stackoverflow.com/a/30981161/627794
Edit: (добавлено содержимое ссылки)
откройте терминал, введите (перейдите в нужную библиотеку, например libz)
locate libsqlite3.dylib
вы найдете несколько таких файлов:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libsqlite3.dylib /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libsqlite3.dylib
перейдите в настройки вашего проекта - > этапы сборки - > связь с двоичными файлами. Добавьте оба файла, нажав
+
, тогдаAdd Other
. НажмитеCmd-Shift-G
, и скопируйте-вставьте путь к файлу. НажмитеOpen
.если вы устанавливаете sqlite3 с помощью macports, удалите
/opt/local/lib
из пути поиска библиотеки в настройках сборки.