Skip to content

integrateWechatShareIOS

集成微信分享到 iOS 项目,自动配置相关文件和依赖。

前置依赖

依赖参数

参数名类型说明
deps.existsSyncFileSystem['existsSync']检查文件是否存在
deps.readFileSyncFileSystem['readFileSync']读取文件内容
deps.writeFileSyncFileSystem['writeFileSync']写入文件内容
deps.copyFileSyncFileSystem['copyFileSync']复制文件
deps.statSyncFileSystem['statSync']获取文件状态
deps.mkdirSyncFileSystem['mkdirSync']创建目录
deps.readdirSyncFileSystem['readdirSync']读取目录内容
deps.cpFileSystem['promises']['cp']异步复制目录
deps.joinPath['join']路径拼接
deps.dirnamePath['dirname']获取目录名
deps.basenamePath['basename']获取文件名
deps.xmlParserXMLParserConstructorXML 解析器构造函数
deps.xmlSerializerXMLSerializerConstructorXML 序列化器构造函数

环境要求

  • Node.js 环境: 需要文件系统、路径等 Node.js API
  • @xmldom/xmldom: XML DOM 解析库
bash
npm install @xmldom/xmldom

函数签名

typescript
function integrateWechatShareIOS(
  projectPath: string,
  projectName: string,
  bundleId: string,
  config: WechatShareIOSConfig,
  deps: IntegrateIOSThirdPartyModuleDeps
): Promise<{ success: boolean; error?: string; logs: string[] }>

参数

参数名类型必填说明
projectPathstringiOS 项目路径
projectNamestring项目名称(如 'HBuilder-Hello')
bundleIdstring应用 Bundle Identifier
configWechatShareIOSConfig微信分享配置
depsIntegrateIOSThirdPartyModuleDeps依赖函数对象

WechatShareIOSConfig

属性类型必填说明
appIdstring微信AppID(微信开放平台申请应用的AppID)
universalLinksstring微信UniversalLinks(微信开放平台配置的通用链接域名)
liblibSharePathstringliblibShare.a 文件路径
libweixinSharePathstringlibweixinShare.a 文件路径
libWeChatSDKPathstringlibWeChatSDK.a 或 libWeChatSDK_pay.a 文件路径

返回值

类型说明
Promise<{ success: boolean; error?: string; logs: string[] }>集成结果,包含成功状态、错误信息和日志

工作原理

  1. 复制库文件 - 将微信分享相关的 .a 库文件复制到 iOS 项目中
  2. 修改 Xcode 项目 - 更新 project.pbxproj,添加库文件引用
  3. 配置 Info.plist - 添加微信分享所需的 URL Scheme 和 Universal Links
  4. 配置权限 - 添加必要的权限配置

注意事项

  • 需要在 macOS 环境下运行
  • 需要从微信开放平台获取 AppID 和 Universal Links
  • 库文件路径为可选,如果未提供则跳过相应步骤