Ich habe ein Xamarin.Forms PCL-Projekt erstellt und versucht, auf die lokalen Daten zuzugreifen, die in der SQLITE-Datenbank gespeichert sind, die in Android funktioniert, aber nicht in iOS funktioniert. Wenn ich versuche, den iOS-spezifischen Code mit DependencyService aufzurufen, wird System.NullReferenceException ausgelöst: Objektverweis nicht auf eine Instanz eines Objekts gesetzt.Wie bekomme ich Sqlite Connection in Xamarin Forms in iOS?
Hier ist meine Berufung Aussage
var db = DependencyService.Get<IDBPath>().GetDBPath();
Hier ist mein iOS-spezifischer Code für
Sqlite Anschluss bekommtusing SQLite.Net;
using SQLite.Net.Async;
using SQLite.Net.Platform.XamarinIOS;
using SwachhParyatanApp.iOS;
using System;
using System.IO;
[assembly: Xamarin.Forms.Dependency(typeof(DBPath_iOS))]
namespace SwachhParyatanApp.iOS
{
class DBPath_iOS
{
public SQLiteAsyncConnection GetDBPath()
{
var sqliteFilename = "localData.db";
string folder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
string libraryPath = Path.Combine(folder, "..", "Library");
var path = Path.Combine(libraryPath, sqliteFilename);
var platform = new SQLitePlatformIOS();
var param = new SQLiteConnectionString(path, false);
var connection = new SQLiteAsyncConnection(() => new SQLiteConnectionWithLock(platform, param));
return connection;
}
}
}
Ich glaube nicht, die anrufende Methode, um den iOS-spezifischen Code erreichen wird, weil Ich habe den Break Point im iOS-spezifischen Code verwendet, aber er kam nie zum Breakpoint und es gibt sofort den Fehler. Ich habe auch versucht, zu der Ausnahme für Details zu gehen, aber es gibt keine innere Ausnahme und in Stacktrace zeigt es nur auf die Zeile, die die Methode aufgerufen hat.
Sie Klasse suchen möchten. – valdetero