如何将 Crashlytics 与 iMessage 扩展一起使用?

How to use Crashlytics with iMessage Extensions?

我的 iOS 应用程序中有一个 iMessage 扩展程序。 Crashlytics 可以捕获它的崩溃吗?

我已经尝试将相同的 Fabric 条目从我的主应用 Info.plist 添加到我的 iMessage 扩展的 Info.plist,并将以下内容添加到我的 MSMessagesAppViewController 子类(根据 Today widget intregation 的建议):

- (instancetype _Nonnull)initWithNibName:(NSString * _Nullable)nibNameOrNil
                                  bundle:(NSBundle * _Nullable)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil
                           bundle:nibBundleOrNil];
    if (self)
    {
        // Start up Answers and Crashlytics
        [Fabric with:[NSArray<id> arrayWithObjects:
                      [Answers class],
                      [Crashlytics class],
                      nil]];
    }

    return self;
}

但是当我启动 iMessage 并选择我的 iMessage 扩展程序时,它只是挂在之前的屏幕截图上。它永远不会开始。

这里是来自 Fabric 的迈克。

我们实验性地仅支持 iMessage Extensions 上的 Crashlytics。要让事情正常进行:

  1. 将您的 Fabric 运行 脚本构建阶段添加到您的扩展 目标。复制并粘贴到您的主应用程序中。
  2. 将 Fabric 和 Crashlytics.framework 添加到您的扩展程序中 链接库
  3. Crashlytics.startWithAPIKey("YourActualApiKey") 添加到您的 扩展的视图控制器 initWithCodermethod。如果你不 目前有一个 initWithCoder 方法,它应该是这样的 最后:

    需要初始化(编码器aDecoder:NSCoder){ super.init(编码器:aDecoder) Crashlytics.startWithAPIKey("yourApiKey") }

参考: