如何使用CMake在Xcode中为app扩展创建新目标?

我想在我的Xcode项目中使用Notification Content Extension。 我使用CMake生成我的项目。 现在该项目只有一个目标。

我可以使用菜单File – New – Target – Notification Content Extension在Xcode手动添加扩展名作为新目标。

您能否举例说明如何使用CMake创建具有额外应用扩展目标的新Xcode项目?

从CMake 3.8开始,您可以使用XCODE_PRODUCT_TYPE目标属性让CMake生成特定类型的应用程序。

应该排除故障的最小示例:

 # add app bundle add_executable(MyApp MACOSX_BUNDLE ${APP_SOURCE_FILES}) # add app extension bundle add_library(MyAppExtension MODULE ${APPEX_SOURCE_FILES}) set_target_properties(MyAppExtension PROPERTIES BUNDLE YES XCODE_PRODUCT_TYPE com.apple.product-type.app-extension) # link extension bundle with UserNotifications frameworks find_library(UN_LIB UserNotifications) find_library(UNUI_LIB UserNotificationsUI) target_link_libraries(MyAppExtension PRIVATE ${UN_LIB} ${UNUI_LIB})