【发布时间】:2015-04-01 08:17:57
【问题描述】:
我有一个使用 Qt(QML) 构建的 iOS 应用程序,我想为其使用自定义 Info.plist 文件。
为此,我像往常一样构建了项目(导致 QMake 提供了默认的 Info.plist 文件)。然后我转到应用程序包(在 .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 上构建。
【问题讨论】:
-
在 Info.plist 中输入包标识符 developer.apple.com/library/ios/documentation/General/Reference/…
-
@SimonWarta 我确实阅读了捆绑标识符。 QMake 生成的 Info.plist 文件中已经有一个包标识符。我没有碰过那个设置。
-
如果你设置
QMAKE_INFO_PLIST,你会用你自己的文件明确覆盖qmake的默认Info.plist,这样你就需要自己处理了。可以添加packages/ios/Info.plist的内容吗? -
@SimonWarta 感谢您的关注:drive.google.com/file/d/0B_3UZN1ZieQgSk9vejBpaldjOGs
-
我不认为 qmake 能够处理二进制
Info.plist文件,因为它使用sed来查找和替换一些变量。确保以 XML 格式存储它。