我有一个Xamarin Forms应用程序,它在Android上运行得很好,但是当我在iOS上运行时,我在设置数据库时收到以下错误
Method not found: string SQLitePCL.raw.sqlite3_column_name(SQLitePCL.sqlite3_stmt,int)
然后当我尝试插入到数据库表中时
Method not found: string SQLitePCL.raw.sqlite3_errmsg(SQLitePCL.sqlite3)
这个应用程序使用mvvmlight,我在那里和平台代码中安装了sqlite-net-pcl包。所有的版本都结合在一起。
我的sqlite的iOS初始化代码看起来像这样(在平台上)
public class SQLiteConnectionFactory : ISqliteConnectionFactory
{
readonly string Filename = "mydb";
public SQLiteConnection GetConnection()
{
var path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
path = Path.Combine(path, Filename);
SimpleIoc.Default.Register<ISqliteConnectionFactory, SQLiteConnectionFactory>();
return new SQLiteConnection(path, SQLiteOpenFlags.Create | SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.SharedCache);
}插入代码(在mvvmlight项目中)如下所示
public void SaveListData<T>(List<T> toStore)
{
try
{
lock (dbLock)
{
connection.InsertAll(toStore);
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}我在使用Xam.Android和sqlite-net-pcl时遇到过问题,但在iOS上从未遇到过问题
我已经安装了sqlite-net-pcl 1.7.302-beta和SQLitePCL.* 2.0.2包(使用beta版本来防止稳定版本上的一些链接问题)
下面是安装的iOS包的快照

发布于 2020-04-30 22:19:03
将sqlite-net-pcl包降级到版本1.5.231,这就完成了我的工作
https://stackoverflow.com/questions/60234911
复制相似问题