CMake Xcode 生成器 - 添加“强化运行时”功能

问题描述 投票:0回答:2

问题很简单。我有多平台项目(

Windows
/
Mac OS
)。

现在,在

Mac OS
的情况下,我需要在我的包的功能部分中启用“强化运行时”(它是 launchd 守护进程)。

我希望我的 Xcode 项目是由

cmake
生成的(我不想维护多个项目文件)。 如果我可以通过修改构建过程(例如通过向
xcodebuidl
命令添加一些标志)来解决这个问题,那应该没问题,但我更喜欢所有内容都在
CMakeLists.txt
文件中定义。

Xcode project Capabilities view

xcode macos cmake
2个回答
9
投票

您可以使用属性

XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME
,它是一个布尔值。

在您的 macOS 目标上设置该属性,例如

set_property(TARGET target PROPERTY XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME YES)

或者,如果您为目标提供更多属性,它可能如下所示:

set_target_properties(target PROPERTIES
    MACOSX_BUNDLE TRUE
    MACOSX_BUNDLE_BUNDLE_NAME "yourTargetName"
    MACOSX_RPATH TRUE
    MACOSX_FRAMEWORK_IDENTIFIER com.host.target
    XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@loader_path/Libraries"
    RESOURCE "${RESOURCE_FILES}"
    XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME YES
)

0
投票

我找到了这个解决方案,但无法使其工作...... 我正在尝试运行它来推送通知,两者都没有:

XCODE_ATTRIBUTE_ENABLE_PUSH_NOTIFICATIONS YES

要么:

XCODE_ATTRIBUTE_ENABLE_PUSH_NOTIFICATIONS TRUE

不起作用

我也很想知道如何从 xcode 打开这个“快速帮助”来查看这个属性(如果我拼写正确)

© www.soinside.com 2019 - 2024. All rights reserved.