iOS 端所有 API 都在 DCUniMPSDKEngine 类中定义,您也可以直接查看DCUniMPSDKEngine.h头文件的方法定义

初始化 sdk 全局环境

  1. /// 初始化 sdk 全局环境
  2. /// @param options 启动参数
  3. + (void)initSDKEnvironmentWihtLaunchOptions:(NSDictionary *)options;

初始化 sdk engine,并设置启动参数,建议在 application:didFinishLaunchingWithOptions 方法中添加

App系统生命周期事件方法

需要在 App 系统生命周期方法中调用 SDK 相关方法

示例

  1. - (void)applicationDidBecomeActive:(UIApplication *)application {
  2. [DCUniMPSDKEngine applicationDidBecomeActive:application];
  3. }
  4. - (void)applicationWillResignActive:(UIApplication *)application {
  5. [DCUniMPSDKEngine applicationWillResignActive:application];
  6. }
  7. - (void)applicationDidEnterBackground:(UIApplication *)application {
  8. [DCUniMPSDKEngine applicationDidEnterBackground:application];
  9. }
  10. - (void)applicationWillEnterForeground:(UIApplication *)application {
  11. [DCUniMPSDKEngine applicationWillEnterForeground:application];
  12. }
  13. - (void)applicationWillTerminate:(UIApplication *)application {
  14. [DCUniMPSDKEngine destory];
  15. }

App系统事件回调方法

可根据项目需求,选择实现以下方法

  1. #pragma mark - 如果需要使用 URL Scheme 通用链接相关功能,请实现以下方法
  2. - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
  3. // 通过 url scheme 唤起 App
  4. [DCUniMPSDKEngine application:app openURL:url options:options];
  5. return YES;
  6. }
  7. - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
  8. // 通过通用链接唤起 App
  9. [DCUniMPSDKEngine application:application continueUserActivity:userActivity];
  10. return YES;
  11. }
  12. #pragma mark - 如需使用远程推送相关功能,请实现以下方法
  13. - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
  14. // 远程通知注册成功,收到 deviceToken 调用sdk方法,传入 deviceToken
  15. [DCUniMPSDKEngine application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
  16. }
  17. - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
  18. // 远程通知注册失败
  19. [DCUniMPSDKEngine application:application didFailToRegisterForRemoteNotificationsWithError:error];
  20. }
  21. - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
  22. // 收到远程推送消息
  23. [DCUniMPSDKEngine application:application didReceiveRemoteNotification:userInfo];
  24. completionHandler(UIBackgroundFetchResultNewData);
  25. }
  26. #pragma mark - 如需使用本地推送通知功能,请实现以下方法
  27. - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
  28. // 收到本地推送消息
  29. [DCUniMPSDKEngine application:application didReceiveLocalNotification:notification];
  30. }

获取uni小程序应用资源部署路径

  1. /// 获取 App 运行路径,注:需要将应用资源放到此路径下
  2. /// @param appid appid
  3. + (NSString *)getAppRunPathWithAppid:(NSString *)appid;

判断应用资源是否已经部署

  1. /// 运行目录中是否已经存在 App
  2. /// @param appid appid
  3. + (BOOL)isExistsApp:(NSString *)appid;

将wgt应用资源包部署到运行路径中

  1. /// 将wgt应用资源包部署到运行路径中
  2. /// @param appid appid
  3. /// @param wgtPath wgt应用资源包路径
  4. + (BOOL)releaseAppResourceToRunPathWithAppid:(NSString *)appid
  5. resourceFilePath:(NSString *)wgtPath;

启动小程序应用

  1. /// 启动 App
  2. /// @param appid appid
  3. /// @param arguments 启动参数(可以在小程序中通过 plus.runtime.arguments 获取此参数)
  4. + (void)openApp:(NSString *)appid
  5. arguments:(NSDictionary * __nullable)arguments;
  6. /// 启动 App
  7. /// @param appid appid
  8. /// @param arguments 启动参数(可以在小程序中通过 plus.runtime.arguments 获取此参数)
  9. /// @param redirectPath 启动后直接打开的页面路径 例:"pages/component/view/view?a=1&b=2"
  10. + (void)openApp:(NSString *)appid
  11. arguments:(NSDictionary * _Nullable)arguments
  12. redirectPath:(NSString * _Nullable)redirectPath;

关闭当前小程序应用

  1. /// 关闭当前小程序应用
  2. + (void)closeUniMP;

获取当前运行的小程序appid

  1. /// 获取当前运行的小程序appid
  2. + (NSString *)getActiveUniMPAppid;

获取当前小程序页面的直达链接url

  1. /// 获取当前小程序页面的直达链接url
  2. + (NSString *)getCurrentPageUrl;

获取已经部署的小程序应用资源版本信息

  1. /// 获取已经部署的小程序应用资源版本信息
  2. /// @param appid appid
  3. /// 返回数据为 manifest 中的配置信息
  4. /// {
  5. /// "name": "1.0.0", // 应用版本名称
  6. /// "code": 100 // 应用版本号
  7. /// }
  8. + (NSDictionary *__nullable)getUniMPVersionInfoWithAppid:(NSString *)appid;

向小程序发送事件

  1. /// 向小程序发送事件
  2. /// @param event 事件名称
  3. /// @param data 数据:NSString 或 NSDictionary 类型
  4. + (void)sendUniMPEvent:(NSString *)event data:(id)data;

设置导航栏上的胶囊按钮显示还是隐藏(默认显示)

  1. /// 设置导航栏上的胶囊按钮显示还是隐藏(默认显示)
  2. /// @param menuButtonHidden Bool 是否隐藏胶囊按钮
  3. + (void)setMenuButtonHidden:(BOOL)menuButtonHidden;
  4. ```objective-c
  5. ### 配置点击菜单按钮弹出 ActionSheet 视图的样式
  6. ```objective-c
  7. /// 配置点击菜单按钮弹出 ActionSheet 视图的样式
  8. /// @param menuActionSheetStyle DCUniMPMenuActionSheetStyle
  9. + (void)configMenuActionSheetStyle:(DCUniMPMenuActionSheetStyle *)menuActionSheetStyle;

配置胶囊按钮菜单 ActionSheet 全局项

  1. /// 配置胶囊按钮菜单 ActionSheet 全局项
  2. /// @param items DCUniMPMenuActionSheetItem 数组
  3. + (void)setDefaultMenuItems:(NSArray<DCUniMPMenuActionSheetItem *> *)items;

设置 DCUniMPSDKEngineDelegate

  1. /// 设置 DCUniMPSDKEngineDelegate
  2. /// @param delegate 代理对象
  3. + (void)setDelegate:(id<DCUniMPSDKEngineDelegate>)delegate;

DCUniMPSDKEngineDelegate 相关方法

  1. /// 回调数据给小程序
  2. /// result:回调参数支持 NSString 或 NSDictionary 类型
  3. /// keepAlive:如果 keepAlive 为 YES,则可以多次回调数据给小程序,反之触发一次后回调方法即被移除
  4. typedef void (^DCUniMPKeepAliveCallback)(id result, BOOL keepAlive);
  5. @optional
  6. /// 胶囊按钮菜单 ActionSheetItem 点击回调方法
  7. /// @param identifier item 项的标识
  8. - (void)defaultMenuItemClicked:(NSString *)identifier;
  9. /// 返回打开小程序时的闪屏视图
  10. /// @param appid appid
  11. - (UIView *)splashViewForApp:(NSString *)appid;
  12. /// 关闭小程序的回调方法
  13. /// @param appid appid
  14. - (void)uniMPOnClose:(NSString *)appid;
  15. /// 小程序向原生发送事件回调方法
  16. /// @param event 事件名称
  17. /// @param data 数据:NSString 或 NSDictionary 类型
  18. /// @param callback 回调数据给小程序
  19. - (void)onUniMPEventReceive:(NSString *)event data:(id)data callback:(DCUniMPKeepAliveCallback)callback;

发现错误?想参与编辑?在 GitHub 上编辑此页面!