Библиотека не загружена: @rpath/FBLPromises.framework/FBLPromises iOS 13.3.1
Мое приложение вылетает во время обеда и появляется такая ошибка:
dyld: Library not loaded: @rpath/FBLPromises.framework/FBLPromises
Referenced from: /private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Zeta
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Frameworks/FBLPromises.framework/FBLPromises: code signature invalid for '/private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Frameworks/FBLPromises.framework/FBLPromises'
/private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Frameworks/FBLPromises.framework/FBLPromises: stat() failed with errno=25
/private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Frameworks/FBLPromises.framework/FBLPromises: code signature invalid for '/private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Frameworks/FBLPromises.framework/FBLPromises'
/private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Frameworks/FBLPromises.framework/FBLPromises: stat() failed with errno=1
/private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Frameworks/FBLPromises.framework/FBLPromises: code signature invalid for '/private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Frameworks/FBLPromises.framework/FBLPromises'
/private/var/containers/Bundle/Application/11X3EC15-5A16-4E27-AC4A-FB0503E6F1E2/Zeta.app/Frameworks/FBLPromises.framework/FBLPromises: stat() failed with errno=1
(lldb)
Я использовал его на своем устройстве (iPhone 11 pro) iOS 13.3.1. Он работал отлично, прежде чем я обновил свое устройство до iOS 13.3.1 . Мое приложение также отлично работает на симуляторе (iPhone 11 - iOS 13.3). Использование Xcode 11.3.1.
Удаление профиля с моего устройства и повторное доверие не помогли.
ОБНОВЛЕНИЕ: Пытался собрать его с помощью Xcode Beta 11.4 и не работал.
ОБНОВЛЕНИЕ II:
- Единственные контейнеры, которые я использую, это
Firebase/Auth, Firebase/Core, Firebase/Firestore
. - Комментирование
use_frameworks!
и используяuse_modular_headers!
дал мне эти ошибки:Showing Recent Issues The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3, but the range of supported deployment target versions is 8.0 to 13.2.99.
(Для всех модулей в проекте)
12 ответов
Вероятно, вы используете бесплатную учетную запись разработчика. Apple заблокировала использование внешних фреймворков на бесплатных учетных записях с обновлением 13.3.1. Попробуйте перейти на версию 13.3, если это еще возможно, или купите лицензию разработчика Apple.
ОБНОВЛЕНИЕ 04/2020: Обновление до iOS 13.4 и XCode 11.4 в настоящее время решает эту проблему.
У меня была такая же проблема после обновления моего iPhone до iOS 13.3.1. Исправление, которое сработало для меня: в подфиле удалитьuse_frameworks!
и добавить ,:modular_headers => true
после каждой капсулы. Закройте xcode, обновите поды и перестройте.
Мой полный подфайл выглядит так:
target 'HeatingClient' do
# use_frameworks!
pod 'RxSwift',:modular_headers => true
pod 'RxCocoa',:modular_headers => true
end
Эта проблема характерна для устройств iOS 13.3.1 с бесплатной учетной записью разработчика, я боролся с ней 4 дня и получил решение.
Удалите Pods из папки проекта, используя терминал:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod clean rm Podfile
Снова инициализируйте модули в проекте, терминале:
pod init
В Podfile измените эту строку:
target 'exampleproject' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks!
к этим строкам:
target 'exampleproject' do # Comment the next line if you don't want to use dynamic frameworks # use_frameworks! use_modular_headers!
Снова установите Pods в терминал:
pod install
Откройте проект файлом.xcworkspace и выполните
Product > Clean Build Folder
(Command+Shift+K)Запускайте и создавайте с помощью бесплатной учетной записи разработчика на своем устройстве iOS 13.3.1.
Как уже упоминалось выше:
Apple заблокировала использование внешних фреймворков на бесплатных учетных записях с обновлением 13.3.1.
Так что используйте учетную запись разработчика с активной подпиской или используйте статические библиотеки.
Решение для Cocoapods - использованиеuse_modular_headers!
Я использовал бесплатную учетную запись Apple, перешел на платную учетную запись Apple, и она работала в iOS 13.3.1
Вы используете Apple ID, не являющийся разработчиком, для установки приложения на свой телефон? Похоже, что в iOS 13.3.1 установлены неработающие приложения с бесплатными идентификаторами Apple ID, но только если они содержат встроенные фреймворки. Если возможно связать все ваши зависимости как статические библиотеки, а не фреймворки (например, если вы используете Cocoapods, вы можете удалить use_frameworks! Из своего Podfile), это должно решить проблему на данный момент.
Проблема связана с iOS 13.3.1 и бесплатными учетными записями разработчиков. проблема исправлена в последней бета-версии iOS 13.4. Подтверждаю. пока вы можете использовать
use_modular_headers!
вместо того
use_frameworks!
в проекте Podfile
Похоже, единственный способ избежать ошибки в бесплатной учетной записи - использовать ios 13.3, потому что даже в бета-версии iOS 13.4 Apple не исправила это. С помощьюuse_modular_headers!
не работает для Firebase.
Вероятно, проблема в Xcode или самом фреймворке, у меня была такая же ошибка в Xcode 11.4 beta и iOS 13.4 beta 1. Используйте Xcode 11.3.1 для работы на реальных устройствах, пока не будет выпущена следующая бета-версия Xcode.
Я столкнулся с той же проблемой. силаuse_modular_headers!
чтобы избежать сбоя, и код ниже работает для меня.
# Uncomment the next line to define a global platform for your project
#platform :ios, '10.0'
target 'YourApp' do
use_modular_headers!
# Pods for YourApp
pod 'Kingfisher', '~> 5.0'
pod 'GoogleMaps'
pod 'GooglePlaces'
pod 'Firebase/Analytics'
end
Я пробовал закомментировать строку # use_frameworks! в файле pod, и это сработало
Откройте расширение файла и убедитесь, что оно есть в библиотеке.
Откройте Xcode -> Продукты -> YourApp.app -> "Показать в Finder"
И ты видишь
"YourApp.app" -> Этот файл "щелкните правой кнопкой мыши" и выберите -> "Показать содержимое пакета"
Если библиотеки здесь отсутствуют, вам необходимо проверить их соединения с фреймворком.