【问题标题】:Undefined symbols for architecture arm64: CLSBetaController block invoke in Crashlytics(CLSBetaController.o)架构 arm64 的未定义符号:Crashlytics (CLSBetaController.o) 中的 CLSBetaController 块调用
【发布时间】:2017-03-08 16:50:00
【问题描述】:

大家好,我今天更新了项目中的 pod 文件,我看到 Crashlytics 从 3.8.3 更新到 3.8.4。安装后,我尝试运行该项目,但看到此错误并且无法构建该项目。

在终端中

Installing Crashlytics 3.8.4 (was 3.8.3)

在 Xcode 问题中

Undefined symbols for architecture arm64:
  "_FABNetworkMaximumRetryCount", referenced from:
      ___51-[CLSBetaController loadUpdateWithCompletionBlock:]_block_invoke in Crashlytics(CLSBetaController.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

    标签: ios objective-c xcode crashlytics twitter-fabric


    【解决方案1】:

    打开Podfile源码

    移除织物和 Crashlytics 吊舱

    pod 'crashlytics' 
    pod 'Fabric'
    

    安装 pod

    pod install
    

    Fabric 和 crashlytics pod 都将被移除。
    再次打开 Podfile 并添加两个 pod,如下所示

    pod 'crashlytics' 
    pod 'Fabric'
    

    再次安装 pod

    pod install
    

    `终于更新了运行脚本

    选择项目>>选择目标>>构建短语>>在运行脚本下

    "${PODS_ROOT}/Fabric/run" YOUR_API_KEY YOUR_BUILD_SECRET
    

    【讨论】:

      【解决方案2】:

      确保在使用 pod 时打开 .xcworkspace 文件而不是项目 (.xcodeproj) 文件。这应该可以解决链接问题。

      【讨论】:

        【解决方案3】:

        这对我有用。

        按照所有说明进行操作:引入 2 个框架,添加到 plist,添加 Run Phrase 脚本,但不要添加:

        Fabric.with([Crashlytics.self])
        

        清理并构建项目。这次它应该可以正常工作。没有“_FABNetworkMaximumRetryCount”错误

        然后重新添加:

        Fabric.with([Crashlytics.self])
        

        到 didFinishLaunchingWithOptions,现在再次构建。出于某种原因,这对我有用。

        【讨论】:

          猜你喜欢
          • 2015-11-18
          • 2013-10-13
          • 1970-01-01
          • 2021-08-23
          • 2021-07-25
          • 2018-11-14
          相关资源
          最近更新 更多