通过CocoaPods集成Fabric / Crashlytics

时间:2015-03-16 07:06:26

标签: ios cocoapods crashlytics twitter-fabric

我尝试通过CocoaPods集成Fabric / Crashlytics,我的Podfile看起来像这样:

pod 'Fabric/Core', '1.2'
pod 'Fabric/Crashlytics', '1.2'

但是当我尝试构建我的应用程序时,构建失败并且我得到Shell Script Invocation Error未找到运行脚本:

.../Script-F8D74CB61AB5D7A50013D134.sh: line 2: ./Fabric.framework/run: No such file or directory

是否可以仅使用CocoaPods安装Fabric?

15 个答案:

答案 0 :(得分:160)

Fabric现在支持使用CocoaPods进行安装:http://docs.fabric.io/ios/fabric/cocoapods.html

如果您只是在寻找Crashlytics,可以使用这两个广告连播:

pod 'Fabric'
pod 'Crashlytics'

同时添加以下构建阶段脚本(注意:如果您的repo的路径包含空格,则需要引号):

"${PODS_ROOT}"/Fabric/run <API Key> <Build Secret>

Run Script Build Phase

如果您希望使用TwitterKit,则需要包含:

pod 'TwitterKit'

答案 1 :(得分:10)

通过更改以下行:

修复了我的同样问题
./Pods/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

为:

../Pods/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

换句话说,只需添加一个额外的&#39;。&#39;指定&#39; Pods&#39; directory是构建目录的兄弟而不是子节点。 YMMV。

答案 2 :(得分:9)

我遇到了同样的问题,请使用指向Pods文件夹的$PODS_ROOT环境变量;一定要引用它,以防你的路径中有空格;所以而不是

./Pods/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

使用

"$PODS_ROOT"/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

答案 3 :(得分:8)

尝试:

  1. 删除podfile中的Fabric和Crashlytics。

  2. pod install

  3. 再次将Fabric和Crashlytics添加到podfile

  4. pod install

  5. 像上面的回答一样添加运行脚本。

  6. 希望有所帮助。

答案 4 :(得分:6)

macOS Sierra,Swift 3

变化

${PODS_ROOT}/Fabric/run

"${PODS_ROOT}/Fabric/run"

答案 5 :(得分:5)

我必须使用CocoaPods 0.39在Xcode 7中使用不同的路径:

${SRCROOT}/Pods/Fabric/Fabric.framework/run <key> <secret>

podfile:

pod 'Crashlytics'
pod 'Fabric'

我刚刚将Fabric更新为3.4.1,并且该路径^稍微改为Fabric/run。确保仔细检查${SRCROOT}之后的位,并将其与Fabric应用程序推荐的内容进行比较。有关详细信息,请参阅the changelog for 3.4.1

答案 6 :(得分:5)

in

Fabric (1.6.7)

您应该从

更改路径
"${PODS_ROOT}/Fabric/Fabric.framework/run" YOUR_API_KEY YOUR_BUILD_SECRET

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

答案 7 :(得分:1)

如果您依赖旧版Podspecs的特定内容并且无法更新到官方库,您可以添加

source 'https://github.com/orta/FabricSpecs.git'
source 'https://github.com/CocoaPods/Specs.git'

在Pod文件的顶部,它将在新的版本之前查找旧的-unofficial-版本。有关详细信息,请参阅FabricSpecs回购。

答案 8 :(得分:1)

对于我的项目,这有效:

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

答案 9 :(得分:1)

如果您更新为Fabric&amp;来自旧版本的Crashlytics

  1. 如果您的info.plist文件中的密钥Fabric中包含任何数据,请务必删除所有该信息以及密钥。
  2. 使用简单的"${PODS_ROOT}/Fabric/run"脚本。不要添加任何API_KEY和BUILD_SECRET
  3. 这对我有用,希望这有帮助。

答案 10 :(得分:0)

通常我建议不要反对谷物并使用Fabric App进行安装。鉴于它们提供的复杂性,它提供了我见过的最简单的集成工具。

话虽如此,既然你已经开始使用Cocoapods了,那么唯一能让事情发展的方法就是以下

  1. 运行Crashlytics App安装程序,直到他们为您提供构建阶段脚本。
  2. 复制脚本
  3. 撤消安装
  4. 通过Cocoapods安装
  5. 将复制的脚本添加到您的buildphase

答案 11 :(得分:0)

我之前遇到过这个问题。 这是我的解决方案。 在运行脚本之前自动添加运行文件的执行模式。

Build Phase -> Run Script添加以下行:

chmod +x ./Pods/CrashlyticsFramework/Crashlytics.framework/run

./Pods/CrashlyticsFramework/Crashlytics.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

答案 12 :(得分:0)

删除podfile.lock和manifest.lock,然后重新运行podfile安装,然后使用Fabric中的“easy”配置应用程序从那里继续。

在Fabric.io的网站上有一些非常漂亮的屏幕截图幻灯片演示。我在谷歌找到了它们 - 看不到网站可以访问它们的位置。

仅供参考,如果您遇到问题,那不是您:)。基本上(截至8月3日),Fabric板载过程的每一步都可能被破坏。

  • 如果你很幸运,你可能没有任何问题。
  • 如果你不是,:(你可能在每一步都要解决问题,包括注册可以让你进入无限注册循环的服务,等等。

希望这些都能尽快解决。

警告:您通过搜索找到的大部分答案都将过时,因为很明显,fabric.io在7月15日发生了很大变化,但如果您向下滚动堆栈/ o上找到的任何内容,您可能会找到更新的答案

答案 13 :(得分:0)

确保卸载pod'Answers','〜&gt;如果您之前在项目中使用Fabric,则从您的pod中获取1.3'。

答案 14 :(得分:0)

如官方文档中所述,只需更新您的Pod存储库

pod repo update