【问题标题】:How to use Crashlytics with iMessage Extensions?如何将 Crashlytics 与 iMessage 扩展一起使用?
【发布时间】:2016-11-04 15:12:03
【问题描述】:

我的 iOS 应用中有一个 iMessage 扩展程序。 Crashlytics 能否捕获其崩溃?

我尝试将主应用程序的Info.plist 中的相同Fabric 条目添加到我的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 扩展程序时,它只是挂在上一个屏幕截图上。它永远不会开始。

【问题讨论】:

    标签: ios crashlytics imessage-extension


    【解决方案1】:

    来自 Fabric 的 Mike。

    我们仅对 iMessage 扩展上的 Crashlytics 提供实验性支持。为了让事情顺利进行:

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

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

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

    【讨论】:

    • 链接似乎已损坏。 iMessage 扩展支持有什么更新吗?
    • 修改了我的答案@nrj 以提供更多详细信息。
    • 它是否也适用于 iMessage 应用程序(不是扩展程序)?
    • 我没有明确测试过它,但希望它能够工作。同样,我还没有对其进行测试。
    • 我刚刚将它添加到我们的 iMessage 扩展程序中,它似乎工作得很好。我只想指出,现在我们使用Fabric.with([Crashlytics.self]) 而不是Crashlytics.startWithAPIKey("yourApiKey")
    猜你喜欢
    • 2017-02-06
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 2011-04-28
    • 2020-12-01
    • 2020-02-27
    • 1970-01-01
    • 2015-08-30
    相关资源
    最近更新 更多