libsqlite3.dylib и libz.dylib отсутствуют в Xcode 7. Как мне использовать Parse?

Как использовать Parse, если libz.dylib и libsqlite3.dylib отсутствуют в Xcode 7, но существует версия .tbd. Я просто пытаюсь настроить Push-уведомления. Как заставить это работать?

Кроме того, я думаю, что из-за этого я не могу импортировать Parse в AppDelegate.swift без ошибки, говорящей о том, что он не существует.


person Amit Kalra    schedule 15.07.2015    source источник
comment
Это, казалось, сработало. stackoverflow.com/ вопросы/31295369/   -  person Amit Kalra    schedule 15.07.2015


Ответы (5)


Что касается Xcode 7 b4: чтобы добавить поддержку Parse в существующий проект, следуйте Parse «Настройка SDK» для существующего проекта, а чтобы добавить библиотеки libz и libsqlite3, используйте:

  • Перейдите в раздел «Фазы сборки» > «Связать двоичный файл с библиотеками» > «+» > «Добавить другое».
  • В окне выбора файла нажмите: "command"+shift+G (т.е. Перейти в папку) и введите /usr/lib/
  • В /user/lib найдите и добавьте: libz.dylib и libsqlite3.dylib

Обратите внимание!: Также убедитесь, что ATS работает для вас — это новое в iOS9!, см. дополнительную информацию, например, по адресу Ошибка HTTP-загрузки NSURLSession kCFStreamErrorDomainSSL, -9813 ; Самоподписывающий сертификат

person StanislavK    schedule 26.07.2015
comment
libsqlite3.dylib нигде в моей системе нет, я использую Xcode 7.2 в Mac OS X 10.11.3. - person Dai; 26.02.2016

При поиске решения этой проблемы на форуме разработчиков Mac этот ответ оказался популярным:

Это известная проблема в бета-версии Xcode 7. Чтобы обойти эту проблему на данный момент, пожалуйста: Удалите все ссылки на файлы .tbd либо из фазы ваших связанных библиотек, либо из фазы скопированных ресурсов пакета (куда они иногда будут добавляться). Добавьте библиотеку, которую вы хотите связать вручную, в настройки сборки «Другие флаги компоновщика», добавив аргумент: -l для каждой библиотеки, которую вы хотите связать (например, добавьте «-lsqlite3» (без кавычек)). Для тех, кому интересно, файлы .tbd представляют собой новые «текстовые библиотеки-заглушки», которые предоставляют гораздо более компактную версию библиотек-заглушек для использования в SDK и помогают значительно уменьшить размер загружаемого файла.

В дополнение к этому я обнаружил, что это работает дословно для примера sqlite3. Но для libz.dylib вам просто нужно ввести -lz

введите описание изображения здесь

И оттуда я смог успешно построить на симуляторе, я еще проверил на устройстве под управлением iOS9

person Steve Schofield    schedule 02.09.2015

шаг 1 (как описано StanislavK):

Перейдите в раздел «Фазы сборки» > «Связать двоичный файл с библиотеками» > «+» > «Добавить другое».
В окне выбора файла нажмите: «CMD»+Shift+G (т. е. «Перейти к папке») и введите /usr/lib/
From / user/lib найти и добавить: libz.dylib и libsqlite3.dylib

шаг 2: откройте терминал (для Mac)

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib

sudo ln -s /usr/lib/libsqlite3.dylib libsqlite3.dylib
sudo ln -s /usr/lib/libz.dylib libz.dylib

Это подходит для меня.

person fishman    schedule 10.12.2015

Я не думаю, что добавление файлов dylib вручную — правильный путь. Документация по синтаксическому анализу не обновляется для XCode 7: файлы .dylib теперь являются файлами .tbd! Вы можете добавить эти файлы с помощью панели «Фазы сборки» > «Связать двоичный файл с библиотеками» и выбрать эти файлы из списка, выполнив поиск libz и libsqlite3 (без расширения). Здесь вы можете найти краткую информацию о файлах tbd: Почему Xcode 7 показывает *. tbd вместо *.dylib?

person ilNero    schedule 10.10.2015

В XCode 7 файлы *.dylib являются теперь файлами *.tbd, просто найдите нужную библиотеку и измените расширение на .tbd

Пример:

libz.dylib      -> libz.tbd
libstdc++.dylib -> libstdc++.tbd

Спасибо

person Daniel Belém Duarte    schedule 26.03.2016
comment
В моем случае .tbd не сработало. Мне пришлось добавить .dylib из /usr/lib - person iRiziya; 15.08.2016
comment
мне кажется пока нормально. - person Benjamin Wen; 04.09.2017