【问题标题】:Library not loaded: @rpath/FBLPromises.framework/FBLPromises iOS 13.3.1 [duplicate]未加载库:@rpath/FBLPromises.framework/FBLPromises iOS 13.3.1 [重复]
【发布时间】:2020-05-22 13:48:44
【问题描述】:

我的应用在午餐时崩溃并出现此错误:

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 构建它,但没有成功。

更新二:

  • 我使用的唯一 pod 是 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.(对于项目中的所有 pod)

【问题讨论】:

标签: ios xcode firebase ios13.3


【解决方案1】:

问题在于 iOS 13.3.1 和免费开发者帐户。该问题已在最新的 iOS 13.4 beta 上得到修复,我确认。 现在你可以使用

使用_modular_headers!

而不是

使用_frameworks!

在项目 Podfile 中

【讨论】:

  • 确实,你是对的。 Xcode 11.4 beta 2 和 iOS 13.4 beta 4 的组合解决了这个问题。
  • 可以确认Xcode 11.4和iOS 13.4组合解决问题
【解决方案2】:

您可能正在使用免费的开发者帐户。 Apple 通过 13.3.1 升级阻止在免费帐户上使用外部框架。如果仍然可能,请尝试降级到 13.3 或购买 Apple Developer License。

更新 04/2020:升级到 iOS 13.4 和 XCode 11.4 目前可以解决此问题。

【讨论】:

  • 我也尝试过使用苹果开发者计划中的帐户,但仍然得到相同的结果。
  • @arata 检查您是否为代码签名选择了正确的团队标识符。
  • “Apple 阻止在免费帐户上使用外部框架”但是.. 为什么?!?
  • 虽然看起来确实如此,但没有确凿的证据来证实它。这也可能是这个 iOS 版本中的一个错误。是否代表 Apple 发布了关于此(链接)的官方公告?
  • 我的帐户是我公司支付的企业帐户,我遇到了同样的错误。
【解决方案3】:

此问题特定于具有免费开发帐户的 iOS 13.3.1 设备,我为此苦苦挣扎了 4 天并得到了解决方案。

  1. 从你的项目文件夹中卸载 Pods,使用终端:

    sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod clean rm Podfile

  2. 在项目终端中再次初始化 pod: pod init

  3. 在 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!
    
  4. 在终端中再次安装 Pod: pod install

  5. 通过文件 .xcworkspace 打开项目并执行Product > Clean Build Folder (Command+Shift+K)

  6. 在您的 iOS 13.3.1 设备上使用免费的开发者帐户运行和构建。

【讨论】:

  • 使用 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 对于所有的 pod,当你可以再次创建一个干净的项目以获得更准确的结果时,为什么还要麻烦?
  • 我认为您必须在信息选项卡的项目设置中将 iOS 部署目标更改为 iOS > 8.0
  • 谢谢你,只有你的步骤帮助了我。在它看到框架但没有看到类之前
  • 如果您安装了 firebase pod,这将不起作用,关于 swift 需要框架才能让无聊的工作(我的错误是:模块映射文件'/Users/me/Desktop/myApp/Pods/Headers/ Private/openssl_grpc/BoringSSL-GRPC-library.modulemap' 未找到)
【解决方案4】:

我使用的是苹果免费账户,切换到苹果付费账户,它在 iOS 13.3.1 中运行

【讨论】:

  • 您是否尝试重新安装配置文件以查看它是否再次工作?
  • @arata,是的,它仅适用于付费帐户...
【解决方案5】:

您是否使用非开发者 Apple ID 在手机上安装应用程序?看起来 iOS 13.3.1 已经破坏了使用免费 Apple ID 安装的应用程序,但前提是它们包含嵌入式框架。如果可以将所有依赖项链接为静态库而不是框架(例如,如果您使用 Cocoapods,则可以从 Podfile 中删除 use_frameworks!),那么现在应该可以解决问题。

【讨论】:

    【解决方案6】:

    如上所述:

    Apple 阻止在免费帐户上使用外部框架 13.3.1 升级。

    所以使用具有有效订阅的开发者帐户或使用静态库。

    Solution for Cocoapods - 使用use_modular_headers!

    【讨论】:

    • 我现在使用的是开发者帐户,但也遇到了同样的问题,即使我使用 use_modular_headers,我的所有 pod 都会收到 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.,我只添加了 Firebase pod(Firestore ,核心,认证)。我已经使用 Xcode 11.3.1 和 11.4 Beta 重新制作了我的应用程序。
    • @arata 好吧,错误消息说你在某处设置了 ios 4.3。最低为 8.0。如果它与 pod 相关,请将 platform :ios, '8.0' 添加到 Podfile 或 post script。否则看你的目标。此外,如果您使用开发帐户,您仍然可以使用 use_frameworks! 而不是 use_modular_headers!
    • 使用_modular_headers!为我工作!!!
    • 看来他们正准备推动 Swift Package Manager(它将支持来自 Swift 6 的资源)并杀死 CocoaPods。
    【解决方案7】:

    看起来,避免免费帐户出错的唯一方法是使用 ios 13.3,因为即使在 iOS 13.4 beta 中,苹果也没有修复它。 使用 use_modular_headers! 不适用于 Firebase。

    【讨论】:

    • Firebase 将此视为 iOS 问题,不打算发布修复程序。让我们希望 iOS 13.3.2 能解决这个问题。到目前为止,还没有来自 Apple 的消息。
    • 它对我有帮助 take.ms/JMf9h 和 podfile ,但我必须遵循 MarcoPolokk 的步骤
    【解决方案8】:

    将我的 iPhone 更新到 iOS 13.3.1 后,我遇到了同样的问题。 对我有用的修复: 在 Podfile 中删除 use_frameworks! 并在每个 pod 后添加 ,:modular_headers => true。 关闭 xcode,更新 pod 并重建。

    我的完整 Podfile 如下所示:

    target 'HeatingClient' do
      # use_frameworks!
    
      pod 'RxSwift',:modular_headers => true
      pod 'RxCocoa',:modular_headers => true
    
    end
    

    【讨论】:

    • 如果有人在 iOS 14 的 App Clips 上遇到这种情况。这个解决方案对我有用。
    【解决方案9】:

    我遇到了同样的问题。 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
    

    【讨论】:

      【解决方案10】:

      我尝试注释掉 #use_frameworks 行!在 pod 文件中,它工作了

      【讨论】:

        【解决方案11】:

        打开文件扩展名并确保它在库中。

        打开 Xcode -> 产品 -> YourApp.app -> “在 Finder 中显示”

        你看到了

        “YourApp.app”->这个文件“右键”点击->“显示包 内容”

        如果此处缺少库,则需要检查它们的框架连接。

        【讨论】:

          【解决方案12】:

          可能是 Xcode 或框架本身的问题,我在 Xcode 11.4 beta 和 iOS 13.4 beta 1 上遇到了同样的错误。使用 Xcode 11.3.1 在真实设备上运行,直到发布下一个 Xcode 测试版.

          【讨论】:

          • 我使用过 Xcode 11.3.1 和 Xcode 11.4 Beta。得到相同的结果
          猜你喜欢
          • 1970-01-01
          • 2020-06-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-12-18
          • 2016-05-24
          相关资源
          最近更新 更多