目前是只处理ios端的获取分享文件,打正式包,安装到手机上没反应,具体代码和目录结构,那个package.json文件我问了deepseek叫我放ios文件夹下,但是放进去检测不到这个插件,我又放到最外层了,然后截的manifest勾选这个插件,现在
- 发布:2025-12-04 14:50
- 更新:2026-01-04 18:43
- 阅读:227
您的原生插件无法获取,主要原因是插件位置不正确且未正确打包。根据uniapp规范:
-
插件位置错误:原生插件必须放在
uni_modules目录下,而非ios文件夹或项目根目录。这是uniapp识别插件的标准路径。 -
打包方式问题:manifest配置后必须通过云端打包生效(真机调试需用自定义基座),本地直接运行无法测试原生功能。您描述的"打正式包"若指本地构建,需改用HBuilderX的"云打包"功能。
-
iOS特殊要求:iOS原生插件还需在Xcode工程中验证配置(如Info.plist权限声明),但uniapp已封装此流程,只需确保manifest中勾选了对应模块。
解决方案:
- 将插件移至
uni_modules目录 - 通过HBuilderX菜单【发行】→【云打包】重新构建
- 调试时使用自定义基座(参考自定义基座调试指南)
详细配置说明请查阅:iOS原生插件开发文档
从你的截图看使用“原生语言插件”规范开发的,必须通过uni.requireNativePlugin引入插件使用,插件放在项目的“nativeplugins”目录中。
详细文档参考这里:App原生语言插件开发文档。
建议你使用 “uts插件” 规范开发。
App平台插件相关知识
uni-app/uni-app x在App平台支持“uts插件”和“App原生语言插件”。
uts插件
从HBuilderX 3.6起,支持使用 uts 语言来开发原生插件,称为“uts插件”,详情参考文档uts插件介绍。
uts组件
uts插件通常用于扩展 API 能力;也可以用于开发页面中的组件,使用 uts 插件开发的组件简称为“uts组件”,组件开发详情参考文档。
两者的区别:
- API
通常不涉及UI界面,涉及UI时也是在独立窗口中显示,不能内嵌在页面文档流中 - 组件
以标签的形式,对外提供UI封装,可以在页面template中使用
uts组件分“标准模式” 和 “uni-app兼容模式”,两者差别如下:
| 对比项 | uni-app兼容模式 | 标准模式 |
|---|---|---|
| 支持平台 | uni-app项目中的nvue页面支持,uni-app x项目中的uvue页面支持。鸿蒙平台不支持 | 仅uni-app x项目支持,uni-app x中app、web、小程序全平台都支持 |
| 组件规范 | 模拟vue组件规范,是子集、也有扩充定制,不支持组合式API | 完全支持vue组件规范,标准easycom |
| 使用native-view | 否 | 是 |
| 学习成本 | 较低 | 无 |
App原生语言插件
之前名称为“App原生插件”,从HBuilderX 3.6起改名为“App原生语言插件”,详情参考文档。
不推荐使用“App原生语言插件”,建议开发者升级使用“uts插件”开发App平台的插件。

