GMU小程序SDK集成(iOS)

概述

GMU小程序iOS SDK以静态Framework形式(MiniappSDK.framework)提供,SDK资源文件以Bundle形式(miniapp.bundle)提供。小程序SDK与服务端通信时的鉴权流程依赖GMU小程序开放平台提供的“应用KEY”和“应用SECRET”,因此SDK初始化时需要提供“应用KEY”和“应用SECRET”。同时App源码工程中info.plist文件中需要声明小程序SDK所需的权限列表。

集成清单

SDK库文件

  • MiniappSDK.framework

SDK资源文件

  • miniapp.bundle
  • ImageGMU.bundle

系统库依赖

  • MobileCoreService.framework

三方库依赖

  • libSocketRocket.a (0.4.2)
  • libReachability.a(Apple示例版本)

Build setting配置
Building Settings -> Linking -> Other Linker Flags 添加 -ObjC

集成说明

MiniappSDK.framework

开发者集成小程序SDK(MiniappSDK.framework)需要在工程Target的Build Phases->Link Binary With Libraries中添加MiniappSDK.framework及其依赖库的引用,引用添加完成后可尝试编译工程,如果没有编译错误则表明集成成功。

miniapp.bundle 及 ImageGMU.bundle

SDK资源文件(miniapp.bundle ImageGMU.bundle)需要以folder references形式在工程Target的Build Phases->Copy Bundle Resources中添加miniapp.bundle ImageGMU.bundle,可以在MiniappSDK.framework下找到相关资源

权限声明

GMU小程序SDK需要获取设备蓝牙权限(用于获取蓝牙状态,该权限为可选权限,如果未声明则小程序获取到的蓝牙状态为不可用状态)、相机权限(用于反馈传图)、相册权限(用于反馈传图),因此需要在info.plist中声明以上权限:

<key>NSBluetoothAlwaysUsageDescription</key>
<string>应用需要访问您的蓝牙才能继续使用</string>
<key>NSCameraUsageDescription</key>
<string>应用需要访问您的相机才能继续使用</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>应用需要访问您的照片库才能继续使用</string>

API参考

+ [GMUMiniApi startWithConfig:]

/// SDK初始化方法
+ (void)startWithConfig:(GMUMiniConfig *)config;
@interface GMUMiniConfig : NSObject

/// e.g. https://xxx.yyy.com
@property (nonatomic, copy, nullable) NSString *server;

/// e.g. 56f3ac73240c41ad9eab3322d1e4197d
@property (nonatomic, copy) NSString *appKey;

/// e.g. 155f10f08688425aa34265f4b9743f1e
@property (nonatomic, copy) NSString *appSecret;

+ (instancetype)configWithServer:(nullable NSString *)server appKey:(NSString *)appKey appSecret:(NSString *)appSecret;

@end

参数说明:

  • config:SDK初始化配置对象,配置对象需要提供必需的appKeyappSecret。如果SDK需要连接1.0私有云平台,可为配置对象提供server属性来指定私有云服务器;

返回说明:

注意事项:建议开发者在App启动时(AppDelegate)调用+[GMUMiniApi startWithConfig]初始化方法,否则可能会影响小程序打开速度。

+ [GMUMiniApi start](已废弃)

/// SDK初始化方法
+ (void)start DEPRECATED_MSG_ATTRIBUTE("+start is deprecated since v0.1.1. Use +startWithConfig: instead");

参数说明:

返回说明:

注意事项:+[GMUMiniApi start]初始化方法中存在异步耗时操作,因此建议开发者在App启动时(AppDelegate)调用该方法,否则可能会影响小程序打开速度。

+ [GMUMiniApi openMiniApp:]

/// 打开小程序
/// @param miniAppId 小程序ID
+ (void)openMiniApp:(NSString *)miniAppId;

参数说明:

  • miniAppId:小程序唯一标识,可在小程序开放平台获取

返回说明:

注意事项:+[GMUMiniApi openMiniApp:]方法为打开小程序的方法,开发者可在业务需求处调用该方法以打开指定ID的小程序。