Библиотека не загружена: @rpath/VirgilCrypto.framework/VirgilCrypto

В настоящее время мы работаем над добавлением стороннего SDK в наше приложение React Native. Вот SDK https://gitlab.com/claysolutions/public/clay-sdk

Мы добавили под ClaySDK, всё настроили, сборка проходит нормально, но при загрузке приложения выдаёт следующую ошибку:

dyld[49561]: Library not loaded: @rpath/VirgilCrypto.framework/VirgilCrypto

Эта библиотека требуется для Clay SDK. Мы перепробовали много вещей, чтобы заставить это работать:

  • Добавление модуля VirgilCrypto вручную,
  • Здание без исключенных арок
  • Очевидно, что удаление производных данных, реинтеграция модулей, очистка папки сборки, повторная сборка и т. д. — ничего не помогло.

Несколько человек уже столкнулись с этой проблемой в SDK, но жизнеспособного решения пока не найдено, как упоминалось в этом выпуске: https://gitlab.com/claysolutions/public/clay-sdk/-/issues/14

Вот наши версии реагирования и реагирования-native

“react-native”: “0.71.6",
“react”: “18.2.0"

Если кто-то знает, в чем может быть проблема, или когда-либо сталкивался с такой проблемой, мы будем рады услышать о решении.


1
90
2

Ответы:

Это могло произойти по многим причинам. Мы могли бы попытаться решить их одну за другой. Любой из них или комбинация двух или более может решить проблему –

  1. Первое решение -

    а. Переходи General > Frameworks, Libraries, and Embedded Content

    б. Выберите Embed & Sign в соответствии с вашей структурой.

  2. Попробуйте установить "Always Embed Swift Standard Libraries" to Yes в настройках сборки вашей цели.

  3. Попробуйте изменить значение «Обязательно» на «Необязательно» в связанных платформах и библиотеках для вашей платформы Clay.

  4. Попробуйте добавить следующую строку в «Пути поиска Runpath» на вкладке «Настройки сборки»: @executable_path/Frameworks

  5. Добавьте @executable_path/Frameworks в проект Пути поиска Runpath, а не цель.

Дайте мне знать, если что-то из этого сработает, а я пока работаю над другими возможными решениями.


Решено

Мы исправили проблему, создав новую цель для этого конкретного модуля.