私は基本的に、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();
抽出したアプリを起動しようとすると、「Classic-Environmentがサポートされなくなったため、アプリケーションを開くことができません」というエラーメッセージが表示されます。.appを実行可能にしようとしましたが、それでも機能しませんでした。Qtを使用してアプリケーションを抽出する他の簡単な方法はわかりません。
通常のアーカイバで抽出したところ、アプリケーションは動作しました。