uniapp ios 原生插件开发如何正确设置目录

在开发uniapp的iOS原生插件时,应该如何正确设置插件的目录结构?我在Xcode中创建了插件项目,但不知道哪些文件应该放在哪个目录下,比如.h和.m文件、资源文件、配置文件等。官方文档没有详细说明目录规范,导致插件编译时经常报错。有没有标准的目录结构示例或最佳实践可以参考?

2 回复

在UniApp iOS原生插件开发中,目录结构应遵循以下规范:

  1. 插件根目录:ios/Classes/
  2. 实现文件:ios/Classes/YourPlugin.m
  3. 头文件:ios/Classes/YourPlugin.h
  4. 配置文件:ios/dcloud_uniplugins.json

确保在dcloud_uniplugins.json中正确配置插件路径和类名。


在 UniApp iOS 原生插件开发中,正确的目录结构设置如下:

1. 插件目录结构

YourPlugin/
├── ios/
│   ├── YourPlugin.xcframework    # 编译后的插件库
│   ├── YourPlugin.podspec        # CocoaPods 配置文件
│   └── README.md

2. 关键配置步骤

创建 podspec 文件示例:

Pod::Spec.new do |s|
  s.name         = 'YourPlugin'
  s.version      = '1.0.0'
  s.summary      = 'UniApp iOS Plugin'
  s.homepage     = 'https://github.com/xxx'
  s.license      = { :type => 'MIT' }
  s.author       = { 'author' => 'email' }
  s.platform     = :ios, '11.0'
  s.source       = { :git => 'https://github.com/xxx.git', :tag => s.version }
  s.vendored_frameworks = 'ios/YourPlugin.xcframework'
end

3. UniApp 项目配置 在项目的 nativeplugins 目录中创建插件文件夹:

nativeplugins/
└── YourPlugin/
    ├── android/          # Android 插件文件
    ├── ios/
    │   ├── YourPlugin.xcframework
    │   └── YourPlugin.podspec
    └── package.json      # 插件配置文件

4. package.json 配置示例:

{
  "name": "YourPlugin",
  "id": "YourPlugin",
  "version": "1.0.0",
  "description": "插件描述",
  "_dp_type": "nativeplugin",
  "_dp_nativeplugin": {
    "ios": {
      "plugins": [
        {
          "type": "module",
          "name": "YourPlugin",
          "class": "YourPluginModule"
        }
      ],
      "frameworks": [
        "YourPlugin.xcframework"
      ]
    }
  }
}

5. 注意事项

  • 确保 xcframework 包含真机和模拟器架构
  • podspec 中的版本号与 package.json 保持一致
  • 插件类名需要与配置中的 class 名称对应
  • 最低 iOS 版本建议设置为 11.0 或更高

完成以上配置后,通过 HBuilderX 原生插件调试即可正常使用。

回到顶部