ios - 如何自动将崩溃日志发送到 Xamarin.iOS 中的 HokeyApp 以及额外信息?

标签 ios xamarin xamarin.ios hockeyapp

我正在使用 Hockeyapp 记录 Xamarin 应用程序中的崩溃。
对于 Android,我使用此代码自动提交崩溃,几乎没有额外信息:
MainActivity OnCreate 方法内部:

CrashManager.Register(this, "APP_ID", new CustomCrashListener());

自定义崩溃监听器:

public class CustomCrashListener : CrashManagerListener
{
    public override bool ShouldAutoUploadCrashes()
    {
        return true;
    }

    public override string UserID => "UserID recovered from settings.";
    public override string Contact => "More info from settings.";
    public override string Description => "Custom Description";
}

现在,对于 iOS,我发现这会导致自动上传崩溃:

AppDelegate 内部:

BITHockeyManager manager = BITHockeyManager.SharedHockeyManager;
manager.Configure("APP_ID");
manager.CrashManager.CrashManagerStatus = BITCrashManagerStatus.AutoSend;
manager.StartManager();
manager.Authenticator.AuthenticateInstallation();

我的问题是,我在 iOS 中找不到类似于 Android 的东西来通过自动发送崩溃日志来发送一些额外的小信息,有什么方法可以在 iOS 中做到这一点吗?

最佳答案

在您的 UIApplicationDelegate 类上,添加 IBITHockeyManagerDelegate 和/或 IBITCrashManagerDelegate

UIApplicationDelegate 示例:

[Register("AppDelegate")]
public class AppDelegate : UIApplicationDelegate, IBITHockeyManagerDelegate, IBITCrashManagerDelegate

将其分配给您的BITHockeyManager.Delegate:

var hockeyManager = BITHockeyManager.SharedHockeyManager;
hockeyManager.Delegate = (HockeyApp.iOS.BITHockeyManagerDelegate)(IBITHockeyManagerDelegate)this;

实现您需要的额外信息方法:

// From IBITHockeyManagerDelegate
[Export("userIDForHockeyManager:componentManager:")]
public string UserIdForHockeyManager(BITHockeyManager hockeyManager, BITHockeyBaseManager componentManager)
{
    return "sushihangover";
}

[Export("userNameForHockeyManager:componentManager:")]
public string UserNameForHockeyManager(BITHockeyManager hockeyManager, BITHockeyBaseManager componentManager)
{
    return "Sushi Hangover";
}

[Export("userEmailForHockeyManager:componentManager:")]
public string UserEmailForHockeyManager(BITHockeyManager hockeyManager, BITHockeyBaseManager componentManager)
{
    return "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5c2f292f3435343d323b332a392e1c343d3f372834392c303d323928723139" rel="noreferrer noopener nofollow">[email protected]</a>";
}

// From IBITCrashManagerDelegate
[Export("applicationLogForCrashManager:")]
public string ApplicationLogForCrashManager(BITCrashManager crashManager)
{
    return "StackOverflow rocks...";
}

引用号:https://support.hockeyapp.net/kb/client-integration-ios-mac-os-x-tvos/hockeyapp-for-ios#crashreporting

关于ios - 如何自动将崩溃日志发送到 Xamarin.iOS 中的 HokeyApp 以及额外信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41714627/

相关文章:

c# - MarshalDirectiveException at(包装器托管到 native )

ios - 关于自定义 RxSwift Observable 扩展的问题

ios - 在 subview Controller 中识别导航是弹出还是推送

ios - 如何在 prepareForSegue 方法中访问对象数组中选定对象的不同属性或特性

xamarin - 在 Xamarin Forms 的 Tabbar 中添加自定义按钮

c# - Xamarin.forms 自定义字体异常

c# - MvvmCross - 从 View 模型调用 Web 服务

ios - 图像未在 iPhone 设备上显示

android - Couchbase lite 查询和过滤

xamarin - 下载并保存 PDF 以供查看