我基本上是在尝试使用 QuaZip 从 zip 文件中提取 Mac 应用程序。我正在使用的代码是:
QuaZip zip("file.zip");
qDebug() << zip.open(QuaZip::mdUnzip);
QuaZipFile file(&zip);
QFile out("application.app");
out.open(QIODevice::WriteOnly);
for(bool f=zip.goToFirstFile(); f; f=zip.goToNextFile()) {
file.open(QIODevice::ReadOnly);
//same functionality as QIODevice::readData() -- data is a char*, maxSize is qint64
char c;
while (file.getChar(&c)) out.putChar(c);
file.close();
}
out.flush();
out.close();
zip.close();
如果我尝试启动提取的应用程序,我会收到一条错误消息,提示“无法打开应用程序,因为不再支持经典环境”。我试图使 .app 可执行,但它仍然无法正常工作。我不知道使用 Qt 提取应用程序的任何其他简单方法。
我用普通的存档器提取它并且应用程序工作。