使用Xamarin Forms无法让HockeyApp在iOS上运行

时间:2017-09-20 14:25:37

标签: ios xamarin xamarin.ios xamarin.forms hockeyapp

我尝试在带有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的调用,仍然是同样的问题。

1 个答案:

答案 0 :(得分:0)

你把你的Hockey Init代码放在哪里?

我使用global::Xamarin.Forms.Forms.Init();方法在曲棍球初始化后使用FinishedLaunching

这样的事情:

var manager = BITHockeyManager.SharedHockeyManager;
...
manager.StartManager();
global::Xamarin.Forms.Forms.Init();