Syncfusion Datagrid аварийно завершает работу приложения Xamarin IOS из-за инициализации управления - PullRequest
0 голосов
/ 21 июня 2020

У меня есть приложение Xamarin, в которое я включил элемент управления Syncfusion Datagrid. Я пытаюсь развернуть это на симуляторе IOS в Visual Studio. Я добавил пакет NuGet и лицензию сообщества. Однако на экране это не отображалось. Чтобы исправить это, я добавил следующую строку кода, как рекомендовано https://www.syncfusion.com/forums/137574/no-visible-data-grid-on-ios-platform-only.

Syncfusion.SfDataGrid.XForms.iOS.SfDataGridRenderer.Init();

Однако теперь это приводит к сбою моего приложения с единственной информацией отладчика:

main.cs:

static void Main(string[] args)
{
      // if you want to use a different Application Delegate class from "AppDelegate"
      // you can specify it here.
      UIApplication.Main(args, null, "AppDelegate"); #System.NullReferenceException: 'Object reference not set to an instance of an object'
}

AppDelegate.cs:

public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
      global::Xamarin.Forms.Forms.Init();
      Syncfusion.SfDataGrid.XForms.iOS.SfDataGridRenderer.Init();
      LoadApplication(new App());

      return base.FinishedLaunching(app, options);
}

Если я не дал вам достаточно информации о моей настройке, просто спросите, и я с радостью предоставьте это. :)

Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 22 июня 2020

Я не знаю, в чем причина проблемы, однако, понизив мой пакет Xamarin.Forms и Xamarin.Essentials до версий 4.5.0.495 и 1.3.1 соответственно, я больше не получал ошибку, и экран отображался

Я понял это, создав новый тестовый проект и попытавшись воссоздать свой код. Затем я попытался запустить его, и он сработал. Таким образом, я изменил версии своего исходного кода на версии, которые работали в проекте, созданном с помощью шаблона Xamarin.

Спасибо всем за помощь :)

1 голос
/ 27 июня 2020

Я тоже столкнулся с той же проблемой; после недавних обновлений мое приложение вылетело с нулевым исключением на main.cs в iOS. Я, наконец, выделил и решил, что было причиной проблемы.

Проблема возникла, когда я заполнил SfDataGrid больше строк, чем могло поместиться на экране симулятора (кросс-платформенный, iOS); это вызовет ошибку sh, как только я попытаюсь прокрутить по вертикали или горизонтали. Однако, если количество строк было меньше размера экрана, не было sh. Приложение также нормально работало около недели go.

Оказывается, в последней версии Xamarin.Forms версии 4.6.0.968, похоже, есть ошибка. Путем понижения версии Xamarin.Forms до версии 4.6.0.847 проблема была решена.

Дополнительная информация по этой проблеме приведена по следующей ссылке:

0 голосов
/ 21 июня 2020

Инициализация средства визуализации не требуется, если вы используете Xamarin. iOS платформу, а не кроссплатформенную.

В случае, если вы используете iOS версию Xamarin.Forms, затем обратитесь к документации по началу работы здесь , чтобы узнать пошаговую настройку компонента DataGrid. Подтвердите, что вы установили Syncfusion.Xamarin.SfDataGrid NuGet package.

В случае, если вы используете саму платформу Xamarin. iOS, обратитесь к документации здесь для пошаговых настроек и убедитесь, что вы установили пакет Syncfusion.Xamarin.SfDataGrid. IOS.

Надеюсь, это поможет.

...