【问题标题】:Crashlytics Framework doesn't detect the Info plist on iOSCrashlytics Framework 未检测到 iOS 上的 Info plist
【发布时间】:2015-05-26 21:56:02
【问题描述】:

我正在尝试在我的项目中添加 Crashlytics 框架,但是,当我完成该过程并达到将框架添加到项目中的地步时。 Mac 上的“Fabric”脚本插件没有检测到框架已添加到项目中,我认为是因为它没有检测到我的项目中的 Info.plist,因为我更改了 Info 的名称.plist 到别的东西。我试图将其改回 Info.plist 但仍然无法正常工作。 如何制作框架来检测项目中的 info.plist。

谢谢

【问题讨论】:

  • 你看到任何编译器输出了吗?
  • 您可能不应该更改 info.plist 的名称。按command+shift+k 清理您的构建。还要验证是否已在 Target > Build Phases > Link Binary With Libraries 下添加了框架。
  • 您需要将Crashlytics.frameworkFabric.framework都添加到应用程序中;但是你不需要启动任何 Fabric 东西(只需启动 Crashlytics),也不需要使用 Fabric run 脚本(使用 Crashlytics run 脚本)。
  • 来自 Fabric 的 Alex 在这里。我同意您的 info.plist 似乎没有问题。我们可以调查几件事,但查看您的一些日志并获取您的捆绑包 ID 会非常有帮助。通过 support@fabric.io 可能是最容易处理的,一旦我们弄清楚了,我可以在这里发布答案!

标签: ios objective-c xcode crashlytics


【解决方案1】:

我不确定我遇到的是不是同样的事情,但是在尝试归档我的项目时,我收到了以下错误:

❌错误:Fabric: Info.plist 错误

我查看了 XCode 中的输出,其中提到这可能是一个时间问题,并确保我将“Fabric”构建阶段作为最后的构建阶段之一。因此,我更新了 XCode 配置,并在“将符号上传到 Fabric”步骤之前运行了 Fabric 步骤,这解决了问题。见下图。

【讨论】:

  • 这个解决方案适用于 Fabric 2.3.1 和 XCode 7.2
  • 此问题的最佳解决方案,在构建阶段结束时移动 Fabric 脚本
  • 最佳解决方案,我在构建阶段结束时有相同的移动结构脚本也为我解决了
【解决方案2】:

对我来说根本原因是 空的 Bundle Identifier(尽管密钥是在 info.plist 中设置的)。

在将一个新的 XCode 项目设置为另一个项目的副本后,我将带有所有键的 info.plist 复制到新项目中。但它使用像 $(PRODUCT_BUNDLE_IDENTIFIER) 这样的变量,它被分配到其他地方(可能在项目文件中,我也没有复制)

因此,在屏幕截图中,带有圆形椭圆的字段为空。应用正确的包标识符后,一切正常。

【讨论】:

    【解决方案3】:

    仅限 Xcode 10:

    将您应用的构建 Info.plist 位置添加到构建阶段的输入文件字段:

    $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
    

    【讨论】:

    • 我在 Embed Pods Frameworks 的输入文件中添加了这个。然后错误继续:)
    【解决方案4】:

    RunScript in Target -> Build Phase移到最后,试一试:

    【讨论】:

      【解决方案5】:

      您是否将 Fabric NSDictionary 条目添加到您的 .plist(s) 中?

      【讨论】:

      • 是的,我这样做了,但还是不行。但是,当您运行“Fabric”脚本时,应该会自动添加此字典。
      • 我在使用 plist 条目迁移时遇到了一些问题
      【解决方案6】:

      在“输入文件”中设置Info.plist的绝对路径

      • 在“构建阶段”下为 Fabric 添加的运行脚本中添加/更改“输入文件”值
      • 从“$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)”到“新路径*/Info.plist”

      *新路径:也可以从 Build Settings -> Packaging -> Info.plist File 中获取 Info.plist 路径

      【讨论】:

        【解决方案7】:

        将您应用的构建 Info.plist 位置添加到构建阶段的输入文件字段:

        $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

        注意:输入与上面给出的完全相同的行来解决这个问题我正在使用 Xcode_10.1,这对我来说非常好,并且在 Fabric 官方网站上,他们特别提到了与上面给出的相同的解决方案Please refer this image to see attached screenshots of Xcode to get more details about where to put this line

        【讨论】:

          【解决方案8】:

          仅限 Xcode 10:

          将应用的构建 Info.plist 位置添加到构建阶段的输入文件字段:

          $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

          同时,将运行脚本移动到最后一行。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-02-17
            • 2022-10-20
            • 2014-03-24
            • 1970-01-01
            • 2018-01-10
            • 1970-01-01
            • 1970-01-01
            • 2020-09-13
            相关资源
            最近更新 更多