Универсальная статическая библиотека Xcode 12

#ios #objective-c #xcode12 #universal-binary

#iOS #objective-c #xcode12 #универсальная-двоичная

Вопрос:

Я использую https://github.com/justeat/JustLog чтобы зарегистрировать детали. Этот модуль используется универсальной статической библиотекой sdk. Таким образом, при создании библиотеки это успех, и они являются libios.а также там.

Я использую стандартную архитектуру. И допустимые арки arm64 armv7 x86_x64

Когда я использую эту универсальную библиотеку в проекте Xcode, в ней говорится

Неопределенные символы для архитектуры arm64: «OBJC_CLASS $_Logger», ссылка из: LogzLogger ld: символ (ы) не найден для архитектуры arm64

Та же проблема при запуске в симуляторе, а также x86_x64 не найден.

Я попытался установить для build active architecture только значение NO и попробовать добавить допустимые арки для модулей, а также в проект sdk.

Но проблема остается стабильной. Итак, каково же решение этой проблемы?

Разве эта библиотека не создана для arm 64 и x86_x64?

Или какая-либо проблема с моей версией cocoa pods — это последняя версия pods, которую я использую.

Заранее спасибо!

Комментарии:

1. Вы запускали file my_static_lib.a , чтобы проверить, является ли это двоичным файлом fat?

2. @rustyMagnet да, наряду с этим модулем я также использую AFNetworking и realm, они работают нормально, но только у этого есть эта проблема.

3. Вы проверяли Target Membership ? (т. Е. Случайно включали одну и ту же статическую библиотеку несколько раз или вообще не включали?

4. Да, не включается несколько раз. когда я проверяю lib.a, он говорит, что универсальный двоичный файл с [arm_v7: текущий архив ar] [x86_x64] [arm64]

Ответ №1:

вы можете проверить, добавили ли вы $(унаследованный), который добавит флаги компоновщика, созданные в pod, к другим флагам компоновщика, как показано ниже:

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

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

Ответ №2:

подключите свое физическое устройство и выберите это устройство, и ошибка запуска или архивирования исчезнет

Комментарии:

1. Да, sdk успешно создается, но проблема в том, что когда я запускаю проект с помощью этой библиотеки, он говорит о вышеупомянутой проблеме. Даже для устройства то же самое. Проблема с архитектурой не найдена. Есть какие-либо проблемы с этой библиотекой, которая не создана для arm 64 и _x86_x64?