【问题标题】:Xcode 6: 'Answers.h' file not found after Fabric Crashlytics updateXcode 6:Fabric Crashlytics 更新后未找到“Answers.h”文件
【发布时间】:2015-08-13 17:13:14
【问题描述】:

我在 Xcode 6.3.2 的 Storyboard 中开发了一个 Objective-C 项目。当我尝试构建时突然出现错误:

/.../Developer/ProjectName/Crashlytics.framework/Headers/Crashlytics.h:14:9:找不到“Answers.h”文件

我已经安装了 Crashlytics 并在我的应用中运行了几周。我让它通过 Fabric 插件运行。我切换了 Fabric 应用,发现它最近更新了 Crashlytics。

在 Xcode 中,如果我去“源代码控制”->“提交...”查看我的更改,它只显示我所做的更改 - 与 Crashlytics 无关。

还有其他人看到吗?有人对最有效的恢复和恢复工作方式有什么建议吗?

当依赖项更新时无法控制我有点沮丧。

更新:

为了使项目处于可构建状态以便我可以继续工作,我暂时从 AppDelegate 中删除了以下行:

  • #import <Crashlytics/Crashlytics.h>
  • [Fabric with:@[CrashlyticsKit]];

【问题讨论】:

  • 来自 Fabric 的 Alex 在这里。这听起来像是在升级过程中发生了一些奇怪的事情。如果在项目中右键Crashlytics和Fabric框架,选择“Show in Finder”,打开info.plist,“Bundle versions string, short”中的version值是多少?
  • 感谢@Alexizamerican 与我们联系。我最终通过support.crashlytics.com 的“联系支持”链接与支持人员交谈。我已经从项目中完全删除了 Crashlytics 并重新安装 - 这解决了问题。

标签: ios xcode6 crashlytics twitter-fabric


【解决方案1】:

我最终通过http://support.crashlytics.com/ 的“联系支持”链接获得了支持。

他们为我提供了一些步骤来从我的项目中删除旧的 Crashlytics 框架,然后手动重新安装它。我不清楚他是否打算通过 Finder 而不是 Xcode 删除框架,所以我尝试按照说明进行操作导致了许多副作用(例如,框架最终位于错误的目录中,我有一个无名文件夹他让我运行的同上命令在我的桌面上运行...这导致 Time Machine 神秘地停止工作,直到我删除该文件夹。

我最终从项目中完全删除了 Fabric 和 Crashlytics,然后我使用 Fabric OSX 应用程序将 Crashlytics 重新安装到项目中。从这里开始,项目又开始运作了。

要从项目中删除 Crashlytics 和 Fabric,我执行了以下操作:

  1. 通过 Xcode 从我的项目中删除了 Crashlytics.framework 和 Fabric.framework
  2. 在项目属性 -> 构建阶段中删除了运行脚本。这可能是可选的。尽管运行脚本中的唯一 id 与 Fabric 在重新安装时提供的匹配,但验证这一点很重要。
  3. 删除了 AppDelegate 中的以下 3 行。这可能是可选的。重新安装时需要更换。

    #import <Fabric/Fabric.h>
    #import <Crashlytics/Crashlytics.h>
    
    [Fabric with:@[CrashlyticsKit]];
    

【讨论】:

  • 对于其他阅读本文的人-我认为真正的技巧是上面的#2 或#3,可能是#3。我被困在 build-to-continue 阶段,项目文件中存在 #2 或 #3 的东西让 Fabric 应用程序感到困惑。
【解决方案2】:

对我来说,我按照 Fabric.app 的步骤操作,告诉我要包含 #import &lt;Answers/Answers.h&gt;,但我只需要:

#import <Crashlytics/Crashlytics.h>

...

[Answers logCustomEventWithName:@"My First Custom Event"
                  customAttributes:@{}];

【讨论】:

    【解决方案3】:

    如果您使用的是 Crashlytics+Answer,请尝试以下操作:

    #import <Crashlytics/Crashlytics.h> //Obj-C
    import Crashlytics                  //Swift
    

    【讨论】:

      猜你喜欢
      • 2016-02-18
      • 2018-10-06
      • 2015-06-04
      • 2013-07-19
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      相关资源
      最近更新 更多