我尝试在带有xamarin表单的iOS项目中使用HockeyApp。
它在Android上运行良好,但我无法在iOS上运行它。
这是我为HockeyApp提供的AppDelegate代码:
var manager = BITHockeyManager.SharedHockeyManager;
manager.Configure("----");
manager.CrashManager.Init();
manager.LogLevel = BITLogLevel.Verbose;
manager.CrashManager.CrashManagerStatus = BITCrashManagerStatus.AutoSend;
manager.StartManager();
manager.Authenticator.AuthenticateInstallation();
if (BITHockeyManager.SharedHockeyManager.CrashManager.DidCrashInLastSession)
{
runInSafeMode = true;
Thread.Sleep(5000);
}
然后,在我的代码中稍后我抛出一个NotYetImplementedException。
异常被正确捕获并发送到android上的服务器,但我无法在iOS上运行它。
BITHockeyManager.SharedHockeyManager.CrashManager.DidCrashInLastSession始终为false。
我也试过没有连接调试器,因为我读到调试器在SDK之前捕获异常,仍然无效。
有什么想法吗?
编辑:其他信息
我试过Visual Studio Mobile Center,在android上工作正常,与iOS相同的问题,HasCrashedInLastSessionAsync总是为假
我将throw异常移到main方法之外,只是在遇到相同问题的情况下,异常看起来似乎没有被API检测到
除了没有附加调试器之外我禁用了调试,我也尝试在Release中编译,没什么新东西。
我删除了对Init和AuthenticateInstallation的调用,仍然是同样的问题。
答案 0 :(得分:0)
你把你的Hockey Init代码放在哪里?
我使用global::Xamarin.Forms.Forms.Init();
方法在曲棍球初始化后使用FinishedLaunching
。
这样的事情:
var manager = BITHockeyManager.SharedHockeyManager;
...
manager.StartManager();
global::Xamarin.Forms.Forms.Init();