I have an iOS application built using Qt(QML) for which I want to use a custom Info.plist file.
To do this, I built the project as usual (resulting in QMake providing a default Info.plist file). I then went to the Application bundle (inside the .app file) and copied the generated Info.plist file to my source tree. After copying, I modified this file to make the necessary customizations I needed (I just changed the screen orientation settings, nothing else).
I now specified the path to this customised Info.plist to file in the .pro for my application like so:
ios{
QMAKE_INFO_PLIST = packages/ios/Info.plist
}
When I now hit build, I get the following compiler error:
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'
Has someone else run into this? I am using Qt 5.4.1. Am building on OSX.
Make sure your copy of Info.plist
is in XML format, not binary.
This is necessary because qmake
uses sed
to replace some variables during the build process. 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
I opened a Qt bug because qmake should check that.