Доброе утро всем.Мы работаем над нашим первым проектом Xamarin.Forms.Мы «унаследовали» указанный проект, поэтому много пытались понять его.Проект состоит из PCL, Droid и iOS.Пока что часть Droid работает отлично.Тем не менее, часть iOS доставляет много хлопот.Приложение имеет структуру Master-Detail, с одним меню и областью подробностей, более 40 страниц.Мы используем sqlite и удаленные веб-сервисы для хранения и сбора данных.
Теперь проблема: все эти страницы интенсивно используют внутреннюю базу данных.39 из них работают как надо, но один из них выдает ошибку, когда мы пытаемся получить к нему доступ.Кто-то может подумать, что проблема находится на этой странице, но здесь есть одна загвоздка: мы можем получить к ней доступ в первый раз, и она работает, во второй раз, и она работает, в третий раз, и она вызывает исключение.Мы перезапускаем приложение, и на этот раз при первом обращении к странице возникает исключение.В следующий раз это случится при втором доступе.Таким образом, мы не можем точно определить, что происходит.
Мы ведем журнал ошибок, и вот что мы получаем: невозможно открыть файл базы данных на SQLite.SQLite3.Prepare2 (SQLitePCL.sqlite3 db, запрос System.String) .Опять же, эта страница отлично работает на Android.Ниже приведен код, который работает с db:
string documentsPath = Environment.GetFolderPath (Environment.SpecialFolder.Personal);строка libraryPath = Path.Combine (documentsPath, "..", "Library");var path = Path.Combine (libraryPath, sqliteFilename);
Мы пытались найти решение повсюду, но его трудно получить при случайном поведении.Я также должен отметить, что все приложение для iOS отлично работает на симуляторе.
Буду признателен за любую помощь.