Mac deployment (clang) : @BUNDLEIDENTIFIER@ in Info.plist replaced with com.yourcompany
-
If a bug report has been opened then the bug report itself, and/or the related submissions :)
-
Ok thank you, I will look if I find a bug report about it :)
-
There's currently no bug report attached to this one
-
Ok, thanks ! I just posted a comment on the bug report I talked about.
-
The problem is fixed with Qt 5.3 RC !!
Qt/5.3/Src/qtbase/qmake/generators/unix/unixmake2.cpp :
@
QString bundlePrefix = project->first("QMAKE_TARGET_BUNDLE_PREFIX").toQString();
if (bundlePrefix.isEmpty())
bundlePrefix = "com.yourcompany.";
QString bundleIdentifier = bundlePrefix + var("QMAKE_BUNDLE");(...)
t << "-e "s,@ICON@," << icon.section(Option::dir_sep, -1) << ",g" "
<< "-e "s,@BUNDLEIDENTIFIER@," << bundleIdentifier << ",g" "
@The only thing is that you must put a "." at the end of QMAKE_TARGET_BUNDLE_PREFIX, which is not the case with pbuilder...
-
Good catch, a fix for that is under review
-
Fixed in Qt 5.3.1 !
"https://qt.gitorious.org/qt/qtbase/source/b1d99dad098320777a4391052eac531c834748fa:dist/changes-5.3.1":https://qt.gitorious.org/qt/qtbase/source/b1d99dad098320777a4391052eac531c834748fa:dist/changes-5.3.1
Thanks for everything !! :)
-
Hi,
i've got custom .plist file in my app...with 5.3.1 i got following error while compiling app for iOS
CFBundleIdentifier '@BUNDLEIDENTIFIER@' contains illegal character '@'
The same app was compiled with 5.3.0 without any errors. For now i've set CFBundleIdentifier with my company string and it works ok.
Cheers
-
How does your plist look like ?
-
It was the default one from /ios/mkspecs/macx-ios-clang/, plus i've added two additional keys at the end
@<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIconFile</key>
<string>@ICON@</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleSignature</key>
<string>@TYPEINFO@</string>
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
<string>@BUNDLEIDENTIFIER@</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIStatusBarHidden</key>
<true/>
</dict>
</plist>@ -
At what stage do you get that error ?
-
I've created now new project just for test purposes.
The only thing that i've done now was copying default plist file and addingQMAKE_INFO_PLIST = my.plist in .pro file.
The error appears at following stage :
ProcessProductPackaging /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/Entitlements.plist Err.build/Debug-iphoneos/Err.build/Err.xcent
cd /Users/Robert/WORK/development/QT/projects/build-Err-iphoneos_clang_Qt_5_3_1_for_iOS-Debug
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
builtin-productPackagingUtility /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/Entitlements.plist -entitlements -format xml -o /Users/Robert/WORK/development/QT/projects/build-Err-iphoneos_clang_Qt_5_3_1_for_iOS-Debug/Err.build/Debug-iphoneos/Err.build/Err.xcent
(null): error: CFBundleIdentifier '@BUNDLEIDENTIFIER@' contains illegal character '@'
invalid bundle identifier '@BUNDLEIDENTIFIER@' -
I would say that you where lucky before. AFAIK these are placeholder values meant to be replaced with something sensible or if nothing is given, removed.