整个App页面 由 UniApp 开发: _App离线打包 的方式, 通过UniPugn的方式交互;
1. SDK的下载及集成步骤方法:
https://nativesupport.dcloud.net.cn/AppDocs/usesdk/ios.html
交互:https://nativesupport.dcloud.net.cn/NativePlugin/course/ios.html
- eg: SDK 3.7.3 :
可直接用自带的 HBuilder-uniPluginDemo 工程集成Uni的代码 打包安装,
HBuilder-uniPluginDemo:配置好了与iOS原生交互的插件 示例可直接用;

企业微信截图_330a0e0f-c5f6-4dc6-b05a-c96c442b81ab.png
2. 集成注意事项:
- 在XCode工程中配置好AppKey(先申请好):必须是本项目 iOS平台的Appkey:

企业微信截图_65ebb227-e7e6-4dd2-95b0-030a4168768e.png

企业微信截图_ab951685-376d-4898-97cb-af4e40a62a5d.png
- 在XCode工程中 设置好 UniApp 的 AppID :
这几处AppID必须设定一致: (如果不一致会报Appkey配置错误)
- 在XCode工程中 设置好 UniApp 的 AppID :

企业微信截图_4f2b00a3-8c62-4896-bb6c-9eb9ae140950.png

企业微信截图_b4a03d43-dcac-4841-be07-b41e32566ce0.png
-
在XCode工程中 Bundle ID 必须与申请APPKey是填的一致:
企业微信截图_7b75d68c-fc5a-467f-813b-af7528cc25ca.png

企业微信截图_ef8227a5-967d-4e4a-8e83-29bc31baca19.png
# 3.UniApp 与 iOS 原生交互: 是通过 开发UniApp插件的形式
unityLibrary.h
#import "DCUniModule.h"
NS_ASSUME_NONNULL_BEGIN
@interface unityLibrary : DCUniModule
@end
NS_ASSUME_NONNULL_END
unityLibrary.m
#import "unityLibrary.h"
@implementation unityLibrary
// 通过宏 UNI_EXPORT_METHOD_SYNC 将同步方法暴露给 js 端
UNI_EXPORT_METHOD_SYNC(@selector(gotoUnity3dPage:))
/// 同步方法(注:同步方法会在 js 线程执行)
/// @param options js 端调用方法时传递的参数 支持:String、Number、Boolean、JsonObject 类型
- (NSString *)gotoUnity3dPage:(NSString *)options {
NSLog(@"--- js端传递的参数==%@ --",options);
[[NSNotificationCenter defaultCenter] postNotificationName:@"YEStrUnityLibraryToUnity" object:options];
//可以在该方法中实现原生功能,然后直接通过 return 返回参数给 js
// 同步返回参数给 js 端 支持:NSString、NSDictionary(只能包含基本数据类型)、NSNumber 类型
return @"success";
}
@end

企业微信截图_2f534554-b2d3-4a26-bc9b-5b4b89c66d40.png

企业微信截图_cfb76f62-eeef-4832-9f3a-f936a59cd14e.png
Uni 中:

企业微信截图_ea59653d-d15d-4040-8ec0-a919b6a01a99.png
