场景描述

一些项目已经有一个原生应用在生产环境上运行,但是考虑到后续的功能扩展和开发成本,想使用IPU的框架来做后续的需求开发,并不打算推翻原有的应用。

Android

iOS

Android

解决思路

将Android版IPU的客户端转换成Android Library应用,然后提供给第三方客户端引入打包。 第三方客户端只需写好一个启动IPU客户端的启动方法即可;

解决方案

  1. 复制assets中的配置文件。
  2. 修改AndroidManifest.xml配置文件。

实例

我们以IOO客户端工程为例: 这是一个以IPU框架为基础开发的android项目:ioo-client;

-项目展示:

-项目结构:

-IPU辅工程操作:

需要将IPU项目设置成为一个android-library项目;如下图(以ioo-client为例):

-第三方原生工程(ipu-ioo-demo工程)操作注意以下几点:

  • 将IPU工程作为android-library工程引入;
  • 将IPU工程中的assets资源复制到原生工程中:

如果不放入项目的assets资源,从原生项目中启动IPU项目时,将会因为找不到相关的assets文件而报错!

  • 将IPU工程中的AndroidManifest中相关配置加入到原生工程的项目配置中:

不执行此步骤,也会应为找不到IPU项目对应的组件而报错!

  • 写一个入口,进入IPU应用功能的方法: 在实例ipu-ioo-demo中,采用调用IPU主界面的方法进入IPU项目,调用结果如下图:

已经开始使用ioo-client项目了,登录进入,使用功能:

...

ioo-client功能都已集成到ipu-ioo-demo第三方原生工程中;

其他问题

  • 工程jar包冲突

iOS

解决思路

将iOS版IPU的客户端打包为Framework,然后提供给第三方客户端引入打包。 第三方客户端只需写好一个启动IPU客户端的启动方法即可;

解决方案

  1. 在主工程中建立Res目录。作为应用资源目录。
  2. 将mobile-action.xml和mobile-config.xml复制到在Res/config中。
  3. 将public_key复制到Res/key中。
  4. 将进入应用的欢迎页放置在Res/webapp中,并配置在mobile-config.xml中
  5. 移植相关framework:

AMap.bundle IpuMapBundle.bundle KRVideoPlayerBundle.bundle WadeMobile.framework WadeMobileFunc.framework WadeMobileUI.framework WadeMobileBundle.bundle IpuMap.framework 打包的IPU客户端的.framework

实例

我们以IOO客户端工程为例: 这是一个以IPU框架为基础开发的iOS项目:IOO

-项目展示:

-项目结构:

-第三方原生工程(Master工程)操作注意以下几点:

  • 将上述framework添加到项目中:
  • 将IOO工程中的Res资源复制到原生工程中:
  • 根据Master的应用名称,identifier到License主站 申请一个license,并在mobile-config.xml文件中配置

*写一个入口,进入IPU应用功能的方法:

    YX_ViewController* vc = [[YX_ViewController alloc]init];
    NSMutableDictionary *temp = [NSMutableDictionary dictionary];
    [temp setObject:@"Basic" forKey:@"PAGE_ACTION"];
    [temp setObject:@"3233333222" forKey:@"SESSION_ID"];    
    vc.params = temp;
    [self presentViewController:vc animated:NO completion:nil];

在示例Master工程中,采用调用IPU主界面的方法进入IPU项目,调用结果如下图:

已经开始使用IOO项目了,登录进入,使用功能:

...

ioo-client功能都已集成到ipu-ioo-demo第三方原生工程中;

其他问题

  • Framework Search Paths
Copyright © aiipu.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2022-05-31 09:52:53

results matching ""

    No results matching ""