- Y:怡合达
- UniMPSDK:uniapp原生小程序SDK
uni小程序SDK,是为原生App打造的可运行基于 uni-app 开发的小程序前端项目的框架,从而帮助原生App快速获取小程序的能力,效果如下:
A:虽然UNI官方提供了SDK,但并未提供SPM、cocoapods、Carthage依赖包,而UniMP SDK更新又比较频繁需要维护支持的内容较多,并且目前无法确定后期会不会有多个APP需要使用UniMPSDK。考虑到SDK统一管理、扩展及维护性决定剥离依赖。
- UniMP原生小程序容器基础包
- UniMP原生小程序 Accelerometer(加速度传感器)
- UniMP原生小程序 Audio(音频)
- UniMP原生小程序 Camera(摄像头)/Gallery(图片选择)
- UniMP原生小程序 Contacts(通讯录)
- UniMP原生小程序 File(文件系统)
- UniMP原生小程序 Geolocation定位(百度)
- UniMP原生小程序 native.js
- UniMP原生小程序 Messaging(短彩邮件消息)
- UniMP原生小程序 Orientation(设备方向)
- UniMP原生小程序 Proximity(距离传感器)
- UniMP原生小程序 XMLHttpRequest(网络请求)
- UniMP原生小程序 zip(解压缩)
- UniMP原生小程序 fingerprint(指纹识别)
- UniMP原生小程序 faceId(人脸识别)
- UniMP原生小程序 BlueTooth(蓝牙)
- UniMP原生小程序 sqlite(数据库)
- UniMP原生小程序 iBeacon(低功耗蓝牙)
- UniMP原生小程序扫描二维码、一维码
- UniMP原生小程序支付(微信、支付宝)
- UniMP原生小程序登陆鉴权(微信登陆、QQ登陆、新浪微博登陆)
- UniMP原生小程序外部分享(微信分享、QQ分享、新浪微博分享)
- UniMP原生小程序地图(百度)
- UniMP原生小程序Video(视频播放)
- UniMP原生小程序语音输入(百度)
- UniMP原生小程序友盟统计
- UniMP原生小程序直播推流(又拍云)
在项目中使用YUniMP有三种方法:
- 使用 CocoaPods
- 使用 Carthage (暂不支持)
- 使用 Swift Package Manager (暂不支持)
CocoaPods 是Objective-C的依赖管理器,它自动化并简化了在项目中使用第三方库的过程。 请参阅 Get Started 有关更多详细信息的部分。
# target 中加入依赖
target 'TestApp' do
platform :ios, '13.0'
# 默认依赖:Core(uniMP基础库)、Audio(音频)、Accelerometer(加速传感器)、Camera(摄像头、Gallery(图片选择))、Contacts(通讯录)、NativeJs、Video(视频播放)、Zip(解压缩) 、Barcode (扫码)
pod 'YUniMPSDK', '~> 3.8.12'
# Basic 基础库
# pod 'YUniMPSDK/Core', '~> 3.8.12'
# 百度SDK(包含百度地图、百度定位)
# pod 'YUniMPSDK/BaiduSDK', '~> 3.8.12'
# WeChatSDK 微信SDK(包含微信分享、微信登录鉴权、微信支付)
# pod 'YUniMPSDK/WeChatSDK', '~> 3.8.12'
# AlipaySDK 支付宝支付SDK(仅支付宝支付)
# pod 'YUniMPSDK/AlipaySDK', '~> 3.8.12'
# WeiBoSDK 微博SDK(含微博分享、微博登录)
# pod 'YUniMPSDK/WeiBoSDK', '~> 3.8.12'
# TencentQQSDK 腾讯QQSDK(含QQ分享、QQ登录)
# pod 'YUniMPSDK/TencentQQSDK', '~> 3.8.12'
# Camera(摄像头、Gallery(图片选择))
# pod 'YUniMPSDK/Camera', '~> 3.8.12'
# Barcode (扫码)
# pod 'YUniMPSDK/Barcode', '~> 3.8.12'
# Audio(音频)
# pod 'YUniMPSDK/Audio', '~> 3.8.12'
# Accelerometer(加速度传感器)
# pod 'YUniMPSDK/Accelerometer', '~> 3.8.12'
# Contacts(通讯录)
# pod 'YUniMPSDK/Contacts', '~> 3.8.12'
# NativeJs
# pod 'YUniMPSDK/NativeJs', '~> 3.8.12'
# Messaging(短彩邮件消息)
# pod 'YUniMPSDK/Messaging', '~> 3.8.12'
# Orientation(设备方向)
# pod 'YUniMPSDK/Orientation', '~> 3.8.12'
# Proximity(距离传感器)
# pod 'YUniMPSDK/Proximity', '~> 3.8.12'
# XMLHttpRequest(网络请求)
# pod 'YUniMPSDK/XMLHttpRequest', '~> 3.8.12'
# Zip(解压缩)
# pod 'YUniMPSDK/Zip', '~> 3.8.12'
# Fingerprint(指纹识别)
# pod 'YUniMPSDK/Fingerprint', '~> 3.8.12'
# Video(视频播放)
# pod 'YUniMPSDK/Video', '~> 3.8.12'
# FaceId(人脸识别)
# pod 'YUniMPSDK/FaceId', '~> 3.8.12'
# BlueTooth(蓝牙)
# pod 'YUniMPSDK/BlueTooth', '~> 3.8.12'
# Sqlite(数据库)
# pod 'YUniMPSDK/Sqlite', '~> 3.8.12'
# iBeacon(轻蓝牙)
# pod 'YUniMPSDK/iBeacon', '~> 3.8.12'
end
- 使用 Cocoapods 引入小程序SDK依赖
- 下载小程序wgt文件热更新包
- 将.wgt文件导入项目资源或发布至远程依赖(OSS)
- 使用Swift 组件
UniMPView
传入APPID(wgt文件名),初始化回调使用会返回一个UniMPViewController类,里面包含checkUniMPResources、openUniMP等方法 - 使用UniMP内置功能请查看uniapp官方文档