我有一个使用Qt(QML)构建的iOS应用程序,我想使用自定义的Info.plist文件。
为此,我照常构建项目(导致QMake提供默认的Info.plist文件)。然后我转到Application包(在.app文件中)并将生成的Info.plist文件复制到我的源代码树。复制后,我修改了这个文件以进行我需要的必要自定义(我刚刚更改了屏幕方向设置,没有别的)。
我现在指定了这个自定义Info.plist的路径,以便在.pro中为我的应用程序提交文件,如下所示:
ios{
QMAKE_INFO_PLIST = packages/ios/Info.plist
}
当我现在点击构建时,我收到以下编译器错误:
Check dependencies
Code Sign error: Automatic provisioning profile selection unavailable: A bundle identifier is required for automatic provisioning profile selection. Either enter a bundle identifier in the Info.plist, or select a provisioning profile to use in the build settings.
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 8.2'
有其他人遇到这个吗?我使用的是Qt 5.4.1。我正在OSX上建立。
答案 0 :(得分:2)
确保Info.plist
的副本是XML格式,而不是二进制格式。
这是必要的,因为qmake
在构建过程中使用sed
替换some variables。 E.g。
@sed -e "s,@SHORT_VERSION@,1.0,g" -e "s,@FULL_VERSION@,1.0.0,g" -e "s,@TYPEINFO@,????,g" -e "s,@BUNDLEIDENTIFIER@,com.example.product,g" -e "s,@ICON@,myproduct.icns,g" -e "s,@EXECUTABLE@,MyProduct,g" -e "s,@TYPEINFO@,????,g" ../../project/subproject/Info.plist >MyProject.app/Contents/Info.plist
我打开了Qt bug,因为qmake应该检查一下。
答案 1 :(得分:2)
继续接受的答案: