Статические библиотеки на устройстве iPhone
-
03-07-2019 - |
Вопрос
У меня есть два проекта, приложение Cocoa iPhone и статическая библиотека, которую оно использует.
Я успешно протестировал его на симуляторе iPhone, но когда я пытаюсь развернуть его на своем устройстве iPhone, я получаю (символ не найден) ошибки ссылки.
Если я уберу зависимость от библиотеки, проект будет работать / работает нормально.
Я убедился, что все настройки сборки установлены на iPhoneOS, а не на симуляторе.
Я уверен, что это что-то простое, но кто-нибудь сталкивался с подобными проблемами при переходе с симулятора iPhone на устройство?
- РЕДАКТИРОВАТЬ: мне удалось создать новые проекты (один для приложения и один для статической библиотеки) и успешно запустить их на iPhone или симуляторе. Но у меня есть очень странная проблема ... для каждого конкретного проекта я не могу заставить его работать как на устройство, так и на симулятор ... Я дважды проверил настройки сборки, убедившись, что библиотеки, на которые ссылаются, предназначены для соответствующей сборки настройки (я считаю), но я не могу устранить эти ошибки связывания. Р>
Я думаю, что, должно быть, я что-то делаю очень неправильно ... вся документация Apple гласит: «Это очень просто - один клик», но это доставляет мне много проблем.
Вероятно, это как-то связано с настройками сборки xCode, но я не могу понять, почему выбор разных платформ сборки и перестройка библиотек не работает.
Решение
Ознакомьтесь с моим ответом на аналогичный вопрос Для ссылки на статью, которая может помочь. Существует ссылка на интересную статью.
Другие советы
В конце концов я понял, в чем проблема.
Я изменил цель своего устройства с симулятора на устройство iPhone, затем удалил старую (симулятор) статическую библиотеку и подключил новую (устройство) библиотеку.
Все хорошо, за исключением того, что в пути поиска библиотеки (в конфигурациях сборки) по-прежнему был указан каталог симулятора, что, как я полагаю, приводит к его поиску и использованию, а не к устройству. Р>
Это также объясняет, почему мне удалось заставить каждый параметр работать с новым проектом, но у меня возникали проблемы только при переключении между настройками.
Это простая и глупая проблема, но та, которая принесла мне немного горя и времени. Я до сих пор не знаю, как правильно установить целевые зависимые параметры сборки, но, по крайней мере, если у кого-то возникают подобные проблемы, его стоит посмотреть.
Я создал полный учебник о том, как создавать и использовать статические библиотеки, этот учебник охватывает метод, который также рекомендует Apple, может быть, люди найдут его полезным:
Преимущества этого метода в том, что он автоматически перекомпилирует библиотеку в соответствии с настройками вашего проекта (поэтому никаких проблем со сборками устройства / симулятора)