如何将Crashlytics与iMessage Extensions一起使用?

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

我尝试将主应用程序的Info.plist的相同Fabric条目添加到我的iMessage扩展的Info.plist ,并将以下内容添加到我的MSMessagesAppViewController子类中( 如今对于widget小部件的推荐 ):

 - (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 arrayWithObjects: [Answers class], [Crashlytics class], nil]]; } return self; } 

但是当我启动iMessage并选择我的iMessage扩展时,它只是挂在上一个屏幕截图上。 它从未开始。

来自Fabric的Mike来自这里。

我们只对iMessage Extensions上的Crashlytics提供实验性支持。 为了让事情有效:

  1. 将Fabric Run Script Build Phase添加到扩展程序的目标中。 复制并粘贴主应用中的那个。
  2. 将Fabric和Crashlytics.framework添加到扩展的链接库中
  3. Crashlytics.startWithAPIKey("YourActualApiKey")到扩展程序的视图控制器的initWithCodermethod 。 如果您当前没有initWithCoder方法,它最终应该如下所示:

    必需的init(编码器aDecoder:NSCoder){super.init(编码器:aDecoder)Crashlytics.startWithAPIKey(“yourApiKey”)}

参考: https : //stackoverflow.com/a/27153383/3975963

目前iMessage扩展还不支持Crashlytics 。

iMessage扩展尚未得到官方支持,但我们正在考虑添加它!