CMake 未启用 Xcode 权利

Posted

技术标签:

【中文标题】CMake 未启用 Xcode 权利【英文标题】:Xcode Entitlements don't appear enabled with CMake 【发布时间】:2017-01-09 22:40:06 【问题描述】:

我正在从 CMake 生成一个 Xcode ios 项目,并像这样连接权利文件:

set_target_properties(TargetApp PROPERTIES
    XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS
    "$CMAKE_CURRENT_LIST_DIR/TargetApp.entitlements")

这在编译/签名/运行期间运行良好,但是 Xcode IDE 似乎无法看到启用的东西(至少从 GUI 的角度来看)

TargetApp.entitlements:

<?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>com.apple.security.application-groups</key>
    <array>
        <string>REDACTED</string>
    </array>
    <key>inter-app-audio</key>
    <true/>
</dict>
</plist>

但是一旦我配置了 Xcode 项目,它们就不会出现“打开”

关于如何让 CMake 说服 Xcode 这些权利存在的任何想法?

【问题讨论】:

只是仔细检查...你运行cmake -G Xcode .. 来生成 Xcode 文件,对吧? 是的,这是正确的,所以我有一个 xcodeproject,然后当我打开它时,它会正确构建等,但是“功能”选项卡显示像这个屏幕截图一样都是灰色的 【参考方案1】:

郑重声明,这只是一个 GUI 问题。 CMake 不会生成导致它工作的项目设置,但编译器会很好地选择它。

【讨论】:

以上是关于CMake 未启用 Xcode 权利的主要内容,如果未能解决你的问题,请参考以下文章

我在哪里可以在 xcode 4.5 中启用“get-task-allow”以进行 iCloud 调试(带有权利文件)?

xcodebuild 未签名 IPA - 缺少推送通知权利(在 XCode 中直接签名应用程序时工作)

Xamarin iOS 权利未发布

Xcode 8.1“配置文件不包括 aps-environment 权利”

iOS 应用权利“com.apple.developer.payment-pass-provisioning”未合并到 Xcode 9 的构建中

钥匙串代码签名权利 - 奇怪的行为,钥匙串丢失