Bin9016_
Bin9016_
  • 发布:2025-06-06 09:25
  • 更新:2025-06-09 16:44
  • 阅读:46

iOS的Notification Service Extension如何加入到uniapp里面

分类:uni-app

由于需要做一些推送的扩展,需要把iOS的Notification Service Extension加入到uniapp里面。
以下折腾了好几天也没弄出来,现在离线xcode打包的时候已经实现。
目前想在HBuilderX上实现。

问题1:目前想问下iOS的Notification Service Extension是如何加入到uniapp里面?

问题2:目前尝试过在XCode打包ipa,然后zip解压,在plugIns/ 下找到.appex文件。
看官方文档中有一句:

将.appex添加到uni原生插件下的 ios/Plugins/ 目录中即可。

但是目前实在找不到这个目录。实在不知道怎么集成。

问题3、推送扩展是不是要用官方HBuilder-uniPluginDemo 做?
但是这个项目,看官方说明是将iOS原生代码做静态库.a或者动态库.framework。
根本没看到做Notification Service Extension的例子。

2025-06-06 09:25 负责人:无 分享
已邀请:
天生DR

天生DR - Q:342134068 V:Dronaldo17

我之前成功的经验就是新建一个原生插件工程 插件可能没有什么实质性的功能 xxxx.a 然后按照所说的在插件的ios目录下 创建 Plugins/xxxx.appex 然后进行云打包 这样ipa里就有了

  • Bin9016_ (作者)

    嗯,还是不太明白。恳请指教一下。

    主要是appex弄出来后,我是放在nativeplugins/xxx/ios/Plugins/xxx.appex这个路径吗?

    以及nativeplugins/xxx/package.json是应该如何正常配置?

    2025-06-09 16:21

  • Bin9016_ (作者)

    感谢,已经折腾出来了。

    2025-06-10 15:56

Bin9016_

Bin9016_ (作者)

1、目前我尝试xcode新建一个static library的项目,之后又新建了一个Notification Service Extension。
但是我发现编译Notification Service Extension会提示:

Launch error 【There is no UTI Type for the runnable:(null)】

我理解是因为没有主项目导致的。我目前参考的是该地址:

https://nativesupport.dcloud.net.cn/NativePlugin/course/ios.html

2、如果是单纯的.appex,我已经在原生项目的ipa包,解压拿出过来过。
但是在HBuilderX中,使用制作自定义基座,依旧没有成功加载。
恳请大家帮我看下,是否配置有问题?
目前参考是以下地址:

https://nativesupport.dcloud.net.cn/NativePlugin/course/package.html#ios-extension

目前项目路径是这样:

 |-- nativeplugins  
       |-- XX-NotificationService  
             |-- package.json  
             |-- ios-extension.json  
             |-- os-notificationService.mobileprovision //为apn的配置文件  
             |-- ios  
                   |-- xxxx.a         
                   |-- Plugins  
                         |-- notificationService.appex

相关配置:
ios-extension.json

{  
  "notificationService.appex": {  
    "identifier": "com.xxx.xxx.xxxApn",  
    "profile": "ios-notificationService.mobileprovision",  
    "plists": {  
      "XXGroupIdentifier": "group.com.xxx.xxx.xxxApn"  
    },  
    "entitlements": {  
      "com.apple.security.application-groups": ["group.com.xxx.xxx.xxxApn"]  
    }  
  }  
}

package.json

{  
    "id": "XX-NotificationService",  
    "displayName": "xxx",  
    "version": "1.0.0",  
    "description": "xxx",  
    "_dp_type": "nativeplugin",  
    "_dp_nativeplugin": {  
        "ios": {  
            "plugins": [{  
                    "type": "module",  
                    "name": "XXX-TestModule",  
                    "class": "XXXModule"  
                }],  
        "integrateType": "library",  
        "deploymentTarget": "12.0"  
        }  
    }  
}  

要回复问题请先登录注册