2013-10-10 109 views
3

我创建了一个应用程序,它会频繁更改版本,我不想在每个新版本上手动生成info.plist文件,例如this解决方案。Qt生成info.plist文件

我试图用这个片段:

QApplication a(argc, argv); 
a.setApplicationVersion(APP_VERSION); 
a.setOrganizationName(ORG_NAME); 
a.setOrganizationDomain(ORG_NAME); 

但它不会改变任何事情,即使我删除应用程序包,并作出新的...

+0

你可以写一个shell脚本生成您的plist并从您的.pro文件调用此脚本extra_target –

+0

@SebastianLange但Qt的生成半通用plist文件,即应该是可定制的...... –

回答

2

我解决了它通过运行一个手工制作的脚本:

# For the plist version 
QMAKE_INFO_PLIST += $${TARGET}/data/default.plist 
QMAKE_POST_LINK += sed -i -e "s/@[email protected]/$$VERSION/g" "./$${TARGET}.app/Contents/Info.plist"; 
+0

对于任何具有TARGET名称空格的人在报价卡住时都会消失,正确的方式将它们转义出来以便发送到shell是\“”$$ {TARGET} \“”。 –

+0

下面是一个更完整的例子:https://forum.qt.io/topic/6176/qmake-qmake_info_plist-and-typeinfo/2 – pi3