Ошибка связывания при использовании Hockey SDK в приложении Xamarin IOS

У меня есть приложение Xamarin.forms. В проекте iOS я установил пакет HockeyApp из здесь и следил за примерами здесь, добавив следующий код в мой AppDelegate.cs:

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
    //We MUST wrap our setup in this block to wire up
    // Mono's SIGSEGV and SIGBUS signals
    HockeyApp.Setup.EnableCustomCrashReporting (() => {

        //Get the shared instance
        var manager = BITHockeyManager.SharedHockeyManager;

        //Configure it to use our APP_ID
        manager.Configure ("YOUR-HOCKEYAPP-APPID");

        //Start the manager
        manager.StartManager ();

        //Authenticate (there are other authentication options)
        manager.Authenticator.AuthenticateInstallation ();

        //Rethrow any unhandled .NET exceptions as native iOS 
        // exceptions so the stack traces appear nicely in HockeyApp
        AppDomain.CurrentDomain.UnhandledException += (sender, e) => 
            Setup.ThrowExceptionAsNative(e.ExceptionObject);

        TaskScheduler.UnobservedTaskException += (sender, e) => 
            Setup.ThrowExceptionAsNative(e.Exception);
    });

    //The rest of your code here
    // ...
}

Как только я пытаюсь скомпилировать программу, Visual Studio выдает следующую ошибку (и еще несколько подобных):

Код серьезности Описание Ошибка состояния подавления строки файла проекта Не удалось выполнить собственное связывание, неопределенный символ: std :: __ 1 :: __ vector_base_common :: __ throw_length_error () const. Убедитесь, что есть ссылки на все необходимые фреймворки, а собственные библиотеки правильно скомпонованы. App.iOS

Когда я комментирую этот фрагмент кода, все работает нормально. Есть предложения по этому поводу? Кто-нибудь, кто успешно настроил хоккей в проекте форм ios xamarin?


person Norman    schedule 19.04.2016    source источник


Ответы (1)


Вы ориентируетесь на iOS 6?

Если это так, в разделе начало работы компонента HockeyApp указано следующее:

Ориентация на iOS 6.0

Если вы хотите, чтобы ваше приложение было ориентировано на iOS 6.0, вам нужно будет добавить следующие аргументы в настройки проекта вашего приложения.

Откройте параметры проекта в разделе «Сборка» -> «Сборка iOS». Перейдите в раздел «Дополнительные параметры» -> «Дополнительные аргументы mtouch» и добавьте: -cxx -> gcc_flags «-lc ++»

Также эта ошибка говорит о том же

person Iain Smith    schedule 19.04.2016
comment
Спасибо чувак. Я читал о таргетинге на iOS 6 и об этих настройках, но не понимал, что мое приложение на самом деле нацелено на iOS 6. Я изменил его, и теперь оно работает ... - person Norman; 20.04.2016
comment
Не волнуйся, рад, что смог помочь. - person Iain Smith; 20.04.2016