iOS:Crashlytics在Init上崩溃

Max*_*ell 23 objective-c ios crashlytics

在我的AppDelegate中,我打电话

[Fabric with:@[CrashlyticsKit]];
Run Code Online (Sandbox Code Playgroud)

一切正常.现在我将我的代码拉到另一台机器上,同一行给出了以下错误:

*** Terminating app due to uncaught exception 'FabricException', reason: '[Fabric] Value of Info.plist key "Fabric" must be a NSDictionary.'
Run Code Online (Sandbox Code Playgroud)

我不知道我项目的plist中有任何新增内容.任何想法这个错误可能指的是什么以及如何解决它?

Jos*_*phH 31

在安装时,Fabric会自动将大量文本插入到应用程序的plist中.这些是必不可少的,如果它们不存在,Fabric会在初始化时抛出异常.

不幸的是它实际上并没有告诉你这样做,所以我们遇到了一个项目的崩溃,其中plist是由一个工具自动生成的 - 它覆盖了Fabric添加的内容.

作为参考,这是当前版本中plist的Fabric部分(不确定版本号的位置,但是截至2015年6月15日的最新版本).

<key>Fabric</key>
<dict>
        <key>APIKey</key>
        <string>your-api-key</string>
        <key>Kits</key>
        <array>
                <dict>
                        <key>KitInfo</key>
                        <dict/>
                        <key>KitName</key>
                        <string>Crashlytics</string>
                </dict>
        </array>
</dict>
Run Code Online (Sandbox Code Playgroud)


UIR*_*der 5

解决此问题的另一种方法是使用Fabric App.

  1. 启动Fabric应用程序并使用您的用户ID登录.
  2. 单击"添加新应用程序"
  3. 选择.xcodeproj文件并按照屏幕说明操作

不要在.info plist文件中手动添加Fabric密钥