在Mac下开发Qt应用,需要自定义Info.plist内容(其实主要是版本信息,不想每次去生成的包里修改),费了一番功夫,搜索到正解,给自己做个记录:
在项目的pro文件中添加以下语句
VERSION = 1.0.21.0816
macx {
#处理Info.plist文件
QMAKE_INFO_PLIST = ../myapp/MyInfo.plist
Info_plist.target = Info.plist
Info_plist.depends = ../myapp/MyInfo.plist $${TARGET}.app/Contents/Info.plist
Info_plist.commands = @$(DEL_FILE) $${TARGET}.app/Contents/Info.plist$$escape_expand(\n\t) \
@$(SED) -e "s,@VERSION@,$$VERSION,g" ../myapp/MyInfo.plist > $${TARGET}.app/Contents/Info.plist
QMAKE_EXTRA_TARGETS += Info_plist
PRE_TARGETDEPS += $$Info_plist.target
}
总体思路应该就是在编译完成后删除自动生成的Info.plist,用自定义的MyInfo.plist,替换相应的变量(这里是用VERSION替换MyInfo.plist中的@VERSION@)后,生成Info.plist到生成包中。