未找到Crashlytics文件

问题描述:

最近打开了一个我编译并提交给Apple的项目。未找到Crashlytics文件

我没碰过它了几个月的,但我在得到这个奇怪的编译错误:

#import <Crashlytics/Crashlytics.h> 

错误读取:

'Crashlytics/Crashlytics.h' file not found 

显然,框架不能被发现,但我很困惑,为什么当这个项目几个月前工作时,它突然停了下来。

任何建议为什么?

的Xcode:4.6.3 的Mac OS X:10.8.4

+0

是否该文件的文件系统上存在吗? – powerj1984

+0

几个月前我发布了这个项目,我没有删除它。但是,我会看看 - 它位于哪里? – Snowcrash

+0

在另一台计算机上检查SVN源代码时遇到此问题,@Lukasz答案适用于我。 – foldinglettuce

就在项目中添加$(SRCROOT)框架搜索路径构建设置(搜索路径)。

Crashlytics安装过程将其Crashlytics.framework下降到您的项目文件夹(或创建符号链接)。

如果移动Crashlytics.framework在项目文件夹层次更深的地方 - 设置“递归”的权利,或直接指向它的父文件夹中Header Search Paths

$(SRCROOT)/Path/to/the/folder/containing/Crashlytics.framework

+2

没有为我工作,但“$(PROJECT_DIR)”。也许是因为我在用Cocoapods? – phreakhead

+0

我的问题是我不小心把我的框架搜索路径中的绝对路径,所以当我检查了一台新机器上的代码,它找不到该路径。 –

+0

我从来没有真正检查过这个,但是,由于票数有限,我将其标记为正确。 – Snowcrash

我已经改变了名称工作文件夹和Craslytics失败。在Build Settings(搜索路径)中检查它。

祝你好运!

就我而言,框架位于项目文件夹中,但不在Project Navigator中。我把它拖到项目中,一切正常。

我建议只使用CocoaPods来添加Crashlytics框架。不需要关心路径了。

Podfile:

pod 'Crashlytics', '~> 3.4.1' 

脚本生成阶段为上传的dSYM:

./Pods/Crashlytics/iOS/Crashlytics.framework/run <your_crashlytics_id> 

导入:

#import <Crashlytics/Crashlytics.h> 
+2

我们曾经使用CocoaPods进行Crashlytics/Fabric ...它以前是稳定的,但是自从Fabric改变以后,它会频繁地中断。请记住,Crashlytics的吊舱不是由Twitter/Crashlytics维护的。他们告诉你在停止工作时要做的第一件事是从他们的白痴客户端重新安装。我建议要求官方的CocoaPod支持。 – jasonjwwilliams

+0

添加#import 到我的桥接头做了诀窍 – apinho

我已经就此问题与分布式团队的工作(通过github上)在登记入住后然后结帐CrashlyticsCrashlytics.framework将只有一个文件夹 - “版本”。您需要将Crashlytics.framework中的内容版本保存到其他位置,然后将它们复制粘贴到Crashlytics.framework以后。

我试图玩框架搜索路径和重新安置&重新连接框架文件;检查了构建设置(链接二进制库部分),但错误仍然存​​在。

最后,我重新安装了框架,只需要2-3分钟。问题可能是由于您已将Crashlytics.framework重新定位到根目录中的另一个子文件夹,但我不确定确切原因。

  • 删除一切关于向Crashlytics
  • 开始crashlytics应用程序,登录并选择您的项目
  • 添加运行脚本
  • 将&降.framework文件(我一直是在根文件夹)
  • 添加importstartWithAPIKey语句回

删除来自该项目的Crashlytics.framework和磁盘。复制并再次添加。它帮助了我。从你

删除框架项目和磁盘。检查你是否有最新版本的Fabric插件。

从插件文件夹到桌面用以下命令复制框架:

ditto -xk ~/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/sdks/ios/com.twitter.crashlytics.ios-default.zip ~/Desktop/ 

ditto -xk ~/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/sdks/ios/io.fabric.sdk.ios-default.zip ~/Desktop/ 

从桌面添加框架到您的项目。

信息来源:https://twittercommunity.com/t/error-upgrading-from-crashlytics-on-ios/36196/2

+0

这保存了会议时间!谢谢。 :) – marienke

+0

你救了我的一天。谢谢 –

  1. 你的凸出完全删除Crashlytics框架包括在应用程序的shell脚本生成阶段运行的脚本。
  2. 重新安装光纤跟着导游,一切都会好的。

对于我来说,这个工作:

从您的项目中删除面料和crashlytics框架,并从磁盘为我们的项目删除该文件。

评论在您的appdelegate.m文件中的行,如果你加入他们为以下几点:

import Fabric/Fabric.h 
import Crashlytics/Crashlytics.h 

[Fabric with:@[CrashlyticsKit]]; 

在面料上的应用程序,选择“新建应用程序”,然后选择您的Xcode项目文件

重新复制构建脚本和构建的指示。构建步骤就是为什么你需要评论above--它的线条,如果你在离开这些线路将无法正常工作。

构建脚本运行后,它会提示你从应用程序窗口中拖动框架到您的项目导航。这将复制他的框架(其中包括.h文件)的最新版本到您的项目

我试过手动下载,并从其他项目复制,但这是我失去了框架文件后,我可以恢复的唯一办法为一个应用程序。

我以前升级到面料,也没有问题。几天后,我重新打开了同一个项目,并且遇到了crashlytics.h文件问题。

由于非编译项目,我无法简单地重新从插件重新安装(我有很多CLS_LOG消息,并且引用了我项目中缺少的crashlytics.h文件,只需要很长时间就可以将它们删除允许构建工作 - 重构在CLS_LOG上不起作用)。

所以不是,我从我的项目中删除的crashlytics.framework并做了以下从插件恢复它直接:

  1. 再次下载插件面料,并双击压缩文件解压织物应用。

  2. 右键单击该图标,面料和“显示包内容”

  3. 复制Crashlytics.framework文件夹到您的桌面,然后通过文件重新添加到您的项目 - >添加文件....

如果步骤3不为你工作,你也可以添加crashlytics.framework到项目文件夹您的计算机上直接,然后也通过它相同的Xcode添加到您的项目列表,在步骤3,但如果您已经将文件放在那里,请取消选中“如果需要复制项目”。

我的项目然后编译并再次正常工作。

根据猜测为什么文件丢失?部分升级过程让我删除旧的框架,然后从插件运行脚本等。我认为发生的事情是在我清空垃圾后发生的,有些参考文献丢失了。我也遇到了将Crashlytics放到我的.gitignore文件中的问题,因此它从我所有的项目中消失,每次提交都不是很好。

希望这可以帮助别人!

就我而言,我从一个旧的Crashlytics安装程序通过Mac应用程序迁移到Cocoapods。很多这个问题的答案建议彻底删除所有内容并重新开始。我开始这样做,并注意到在Fabric's documentation中发现的代码与Fabric应用程序中显示的代码之间存在差异,在此步骤中它会告诉您要将什么复制到您的运行脚本构建阶段。

面料的文档具有环绕整个字符串双引号:"${PODS_ROOT}/Fabric/Fabric.framework/run <Your_API_Key> <Your_Build_Secret>"

织物应用程序只有路径周围双引号到run可执行:"${PODS_ROOT}/Fabric/Fabric.framework/run" <Your_API_Key> <Your_Build_Secret>

所以你删除一切,重新开始之前,尝试更新您运行脚本生成阶段,以这样的:

"${PODS_ROOT}/Fabric/Fabric.framework/run" <Your_API_Key> <Your_Build_Secret>