Я потратил свой день, пытаясь решить свою проблему, я пробовал все решения, которые нашел в других сообщениях SO, но, к сожалению, я не могу понять, как решить свою проблему.
Я пытаюсь интегрировать TouchID в свой проект, поддерживающий реакцию. Я загрузил пакет npm под названием «response-native-touch-id» (звучит идеально!). Я выполнил руководство по установке и вручную связал библиотеку со своим проектом.
Но когда я пытаюсь запустить приложение, я получаю следующую ошибку:
Пытался очистить свой проект:
В xCode я даже папку сборки убираю.
О моих версиях:
Вот мой подфайл:
def available_pods
pod 'TouchID', :path => "../node_modules/react-native-touch-id"
end
target 'App' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
available_pods
end
Я добавил .xcodeproj пакета response-native-touch-id в каталог библиотек моего проекта и на этапах сборки связал его.
Но я все еще получаю одну и ту же ошибку снова и снова ... Я не понимаю, почему ... Если у кого-то есть идея, помощь будет очень признательна :)
Выбрана ли для вашего проекта схема "React" в меню продукта?
Удаляю use_frameworks! строка из моего подфайла, но та же ошибка, что и раньше ... @helloworld Да, она выбрана и находится в верхней части списка
Xcode выдает мне эту ошибку, когда существует несоответствие между минимальными целями iOS между файлом проекта моего приложения и файлом проекта модуля, то есть когда минимальная цель модуля выше, чем у приложения.
используйте 56.0.0 - лучшая версия





Оказалось, что проблема была в подфиле. Похоже, что Podfile использует собственный Podspec, который вызывает проблемы. Поэтому я просто удаляю объявление модуля TouchId из своего файла Podfile, очищаю и переустанавливаю свои модули.
Затем я вручную связал библиотеку с моей рабочей областью xcode. Для этого под названием вашего проекта Щелкните правой кнопкой мыши каталог библиотек => Добавить файлы в «имя вашего проекта» => Добавить xcodeproj пакета npm, расположенного внутри каталога node_modules.
После этого в вашем проекте Фазы сборки под Свяжите двоичный файл с библиотеками вам нужно добавить статическую библиотеку пакета npm (пример libTouchID.a в моем случае).
Чтобы убедиться, что вы можете очистить свой проект и попытаться восстановить его, теперь он должен работать.
Для информации я сохранил все версии своего программного обеспечения, упомянутые выше.
Если он показывает реакцию на родную (отсутствующую) в
product->scheme->manage scheme->project name->build
это происходит, когда собственный пакет реакции не связан должным образом со сборкой ios. Ссылка npm делает это.
Использовать react-native eject - не лучшая идея. Кроме того, если вы обновите свою версию Xcode до актуальной последней версии 11.0 с RN0.60, вам даже больше не нужно будет связываться, благодаря автоматическому связыванию, предоставляемому этой версией RN.
для более старой версии React Native он нам все еще нужен
Я предпочитаю связывать вручную, это безопаснее, но вы правы, что для более старой версии нам нужно связать пакет. В любом случае не советую выгружать проект.
Вам действительно нужен use_frameworks! и строки available_pods в вашем файле pod? Если нет, я предлагаю вам удалить эти строки и выполнить чистую установку модулей и модулей npm, как вы это делали ранее.