需求描述
需要将图形引擎sdk插件,接入到uniapp的ios离线工程里面(由我们提供现有的ios离线工程),在uniapp中去调用离线工程暴露的方法查看模型并使用相关功能。
需求目的
在ios手机上能够查看模型,能够上传到testFlight上,且不影响已接入的其他插件功能。
具体需要实现的功能:
1.能够在ios里面查看模型文件,具备默认自带的操作栏功能,示例(android)见附件。
具体实现思路:
1.准备好ios的sdk文件
2.准备好ios工程文件
3.按照文档说明导入sdk里面指定的文件到ios工程里面
4.对这个工程进行一些必要的配置设置
5.引擎加载:是需要我们在工程里面去定义一个页面,在页面里去调用模型渲染的方法,然后加载模型
(有文档说明)
6.需要把这个方法按照uniapp的形式暴露出来,这里可能需要参考uniapp官网文档ios插件开发教程。
7.在uni-app上我们通过下面这个方法来调用该实例,调用方法和传参来显示模型。
uni.requireNativePlugin('DCloud-RichAlert');
8.我们在uni-app里,android端上调用模型的方法示例如下:
var reModule =
uni.requireNativePlugin('BlackHoleUniAppTestUniplugin-REModule') || {};
export async function previewBim(id) {
try {
uni.showLoading({
title: '加载中',
});
let res = await getUrn({
data: [id],
});
if (res.code == '1') {
reModule.showEngineRender(
{
modelUrl: (res.result[0] || {}).resourceId,
dataSetId: (res.result[0] || {}).modelId,
},
(ret) => {
uni.showToast({
title: ret.msg,
icon: 'none',
});
}
);
}
this.$nextTick((item) => {
uni.hideLoading();
});
} catch (e) {
uni.hideLoading();
console.log(e);
}
}
我们也可以提供android工程里面实现该方法的相关代码以供参考。
提供的文件包含:
uniapp- ios端离线工程
IOS SDK 文件
IOS demo示例工程
等需要的相关文件
感兴趣的朋友可以加下微信沟通下。二维码在附件图片里面