В моем коде используется внешняя библиотека с использованием dlsym
(по причинам, не зависящим от моего контроля). неБиблиотека iOS не загружается при использовании IPA
В порядке Xcode, чтобы найти свою библиотеку, я должен был сделать 2 вещи:
-force_load "$(SRCROOT)/pathTo/myLibrary.a"
- Dead-Code СТРИППИНГ NO
Это прекрасно работает, когда работает остроумие профиль отладки , Как на тренажере, так и на физическом устройстве библиотека загружается и работает.
Однако, если я создаю файл AdHoc IPA и установил его на свое устройство, эта же библиотека больше не будет найдена.
В чем может быть разница?
Вы уверены, что ipa имеет файл 'myLibrary.a' внутри? App Store не позволит этого сделать. Просто попробуйте связать библиотеку с проектами через библиотеки Build Phases -> Link и попытаться добавить флаг «-ObjC» в «Другие связанные флагов», возможно, это сработает для вас. Удалите свою библиотеку из Ресурсов копирования Bundle, если она есть. –
Да, если я открою IPA с помощью браузера архива, я вижу файл .a. Но почему я не хочу этого? Как еще устройство может получить эту библиотеку? –
Вы можете добавить только один исполняемый файл в .app, имя которого является значением для ключа «CFBundleExecutable» из Info.plist. Ваша библиотека будет скомпилирована, когда вы запустите команду «build» в Xcode. –