2013-10-10 143 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