You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用XcodeGen配置Notification Service Extension目标?

如何用XcodeGen添加Notification Service Extension目标

XcodeGen目前没有专门的Notification Service Extension目标类型,但可以通过通用App Extension类型变通实现,具体配置和步骤如下:

核心配置示例

在你的project.yml中添加扩展目标的配置:

targets:
  # 你的主应用目标(已有的配置)
  YourMainApp:
    type: application
    platform: iOS
    # ... 主应用其他配置

  # Notification Service Extension 目标
  NotificationService:
    type: appExtension
    platform: iOS
    deploymentTarget: "14.0" # 根据项目需求调整最低版本
    bundleId: "com.yourcompany.yourapp.notification-service"
    infoPlist:
      NSExtension:
        NSExtensionPointIdentifier: "com.apple.usernotifications.service"
        NSExtensionPrincipalClass: "$(PRODUCT_MODULE_NAME).NotificationService"
    sources:
      - NotificationService # 指向存放扩展代码的目录
    dependencies:
      - target: YourMainApp

关键配置说明

  • type: appExtension:以通用App Extension为基础类型,适配通知服务扩展
  • NSExtensionPointIdentifier:必须设置为com.apple.usernotifications.service,这是苹果定义的通知服务扩展的唯一标识
  • NSExtensionPrincipalClass:指定扩展的入口类,默认是NotificationService,用$(PRODUCT_MODULE_NAME)可以自动匹配模块名称,避免硬编码
  • sources:确保指向的目录包含扩展的核心代码文件(比如NotificationService.swift),XcodeGen会自动处理目录内的文件

生成项目

配置完成后,在终端运行:

xcodegen generate

生成的项目中会出现功能完整的Notification Service Extension目标,和手动创建的扩展完全一致。

内容的提问来源于stack exchange,提问作者Sergey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 02:19:52