在OS X上使用LocalStorage(Sqlite)部署Qt/QML应用程序

在OS X上使用LocalStorage(Sqlite)部署Qt/QML应用程序,qt,sqlite,qml,Qt,Sqlite,Qml,我正在用QML做一个应用程序,它使用本地存储来存储一些信息。 在调试模式下运行时,它工作正常 我访问数据库的storage.js就是这样 .import QtQuick.LocalStorage 2.0 as Sql // First, let's create a short helper function to get the database connection function getDatabase() { return Sql.LocalStorage.openData

我正在用QML做一个应用程序,它使用本地存储来存储一些信息。 在调试模式下运行时,它工作正常

我访问数据库的
storage.js
就是这样

.import QtQuick.LocalStorage 2.0 as Sql

// First, let's create a short helper function to get the database connection
function getDatabase() {
     return Sql.LocalStorage.openDatabaseSync("MyApp", "0.1", "StorageDatabase", 100000);
}
我的Qt
.pro
文件包含Sql模块:

QT += sql
在第一个时刻,它在发布模式下也运行良好

但当我尝试在OSX上部署时,运行
macdeployqt
如下:

macdeployqt MyApp.app -dmg -qmldir=../MyApp/qml/
首先我有一个错误,但我认为这没关系,因为我不使用MySQL:error:no file at

"/opt/local/lib/mysql55/lib/libmysqlclient.18.dylib"
我通过LocalStorage使用sqlite

然后尝试在发布模式下运行它不再工作,数据库访问不工作,甚至在它工作的部署中也不工作。。。现在,当我尝试运行应用程序时,出现了错误:

storage.js:5: ReferenceError: Sql is not defined
第5行是这样的:

return Sql.LocalStorage.openDatabaseSync("MyApp", "0.1", "StorageDatabase", 100000);
Sql名称在第一行中定义:

.import QtQuick.LocalStorage 2.0 as Sql
在互联网上查找此错误时,我发现一些地方告诉我要完全按照我所做的去做,例如:

有什么线索吗


我使用的是Qt5.2、Quick 2.0、Qt Creator 3.01

问题与自Qt5.1以来出现的Qt错误有关

我使用了本文中链接的脚本和自定义macdeployqt来实现这一点

脚本: 自定义macdeployqt:


Qt似乎并没有对桌面开发给予太多关注,这只是解释了一个尚未修复的bug。

我可能会说一些琐碎的事情,但您能否检查
.import
方法是否正常工作,以及
Sql
对象是否正确启动?为此添加一些代码并进行部署。你有MySQL作为你的开发工具吗?看起来是这样的,它在调试模式下运行良好,这应该表明导入很好,对吧?我没有MySQL,我使用Sqlite作为数据库。