uni-app 云打包制作自定义模拟器基座,在 ios 模拟器中通过requireNativePlugin获取不到原生插件
uni-app 云打包制作自定义模拟器基座,在 ios 模拟器中通过requireNativePlugin获取不到原生插件
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | big sur 11.4 | HBuilderX |
示例代码:
“nativePlugins” : { “JG-JCore” : { “JPUSH_APPKEY_IOS” : “7bda541ea2f44c8b6c2028e4”, “JPUSH_CHANNEL_IOS” : “developer-default”, “JPUSH_APPKEY_ANDROID” : “”, “JPUSH_CHANNEL_ANDROID” : “”, “plugin_info” : { “name” : “JG-JCore”, “description” : “极光推送JCore插件”, “platforms” : “Android,iOS”, “url” : “”, “android_package_name” : “”, “ios_bundle_id” : “”, “isCloud” : false, “bought” : -1, “pid” : “”, “parameters” : { “JPUSH_APPKEY_IOS” : { “des” : “[iOS]极光portal配置应用信息时分配的AppKey”, “key” : “JCore:APP_KEY”, “value” : “7bda541ea2f44c8b6c2028e4” }, “JPUSH_CHANNEL_IOS” : { “des” : “[iOS]用于统计分发渠道,不需要可填默认值developer-default”, “key” : “JCore:CHANNEL”, “value” : “developer-default” }, “JPUSH_APPKEY_ANDROID” : { “des” : “[Android]极光portal配置应用信息时分配的AppKey”, “key” : “JPUSH_APPKEY”, “value” : “” }, “JPUSH_CHANNEL_ANDROID” : { “des” : “[Android]用于统计分发渠道,不需要可填默认值developer-default”, “key” : “JPUSH_CHANNEL”, “value” : “” } } }, “JG-JPush” : { “JPUSH_ISPRODUCTION_IOS” : “”, “JPUSH_ADVERTISINGID_IOS” : “”, “JPUSH_DEFAULTINITJPUSH_IOS” : “”, “JPUSH_OPPO_APPKEY” : “”, “JPUSH_OPPO_APPID” : “”, “JPUSH_OPPO_APPSECRET” : “”, “JPUSH_VIVO_APPKEY” : “”, “JPUSH_VIVO_APPID” : “”, “JPUSH_MEIZU_APPKEY” : “”, “JPUSH_MEIZU_APPID” : “”, “JPUSH_XIAOMI_APPKEY” : “”, “JPUSH_XIAOMI_APPID” : “”, “JPUSH_HUAWEI_APPID” : “”, “JPUSH_HONOR_APPID” : “”, “JPUSH_GOOGLE_API_KEY” : “”, “JPUSH_GOOGLE_APP_ID” : “”, “JPUSH_GOOGLE_PROJECT_NUMBER” : “”, “JPUSH_GOOGLE_PROJECT_ID” : “”, “JPUSH_GOOGLE_STORAGE_BUCKET” : " plugin_info" : { “name” : “JG-JPush”, “description” : “极光推送Hbuilder插件”, “platforms” : “Android,iOS”, “url” : “”, “android_package_name” : “”, “ios_bundle_id” : “”, “isCloud” : false, “bought” : -1, “pid” : “”, “parameters” : { “JPUSH_ISPRODUCTION_IOS” : { “des” : “[iOS]是否是生产环境,是填true,不是填false或者不填”, “key” : “JPush:ISPRODUCTION”, “value” : “” }, “JPUSH_ADVERTISINGID_IOS” : { “des” : “[iOS]广告标识符(IDFA)如果不需要使用IDFA,可不填”, “key” : “JPush:ADVERTISINGID”, “value” : “” }, “JPUSH_DEFAULTINITJPUSH_IOS” : { “des” : “[iOS]是否默认初始化,是填true,不是填false或者不填”, “key” : “JPush:DEFAULTINITJPUSH”, “value” : “” }, “JPUSH_OPPO_APPKEY” : { “des” : “厂商OPPO-appkey,示例:OP-12345678”, “key” : “OPPO_APPKEY”, “value” : “” }, “JPUSH_OPPO_APPID” : { “des” : “厂商OPPO-appId,示例:OP-12345678”, “key” : “OPPO_APPID”, “value” : “” }, “JPUSH_OPPO_APPSECRET” : { “des” : “厂商OPPO-appSecret,示例:OP-12345678”, “key” : “OPPO_APPSECRET”, “value” : “” }, “JPUSH_VIVO_APPKEY” : { “des” : “厂商VIVO-appkey,示例:12345678”, “key” : “com.vivo.push.api_key”, “value” : “” }, “JPUSH_VIVO_APPID” : { “des” : “厂商VIVO-appId,示例:12345678”, “key” : “com.vivo.push.app_id”, “value” : “” }, “JPUSH_MEIZU_APPKEY” : { “des” : “厂商MEIZU-appKey,示例:MZ-12345678”, “key” : “MEIZU_APPKEY”, “value” : “” }, “JPUSH_MEIZU_APPID” : { “des” : “厂商MEIZU-appId,示例:MZ-12345678”, “key” : “MEIZU_APPID”, “value” : “” }, “JPUSH_XIAOMI_APPKEY” : { “des” : “厂商XIAOMI-appKey,示例:MI-12345678”, “key” : “XIAOMI_APPKEY”, “value” : “” }, “JPUSH_XIAOMI_APPID” : { “des” : “厂商XIAOMI-appId,示例:MI-12345678”, “key” : “XIAOMI_APPID”, “value” : “” }, “JPUSH_HUAWEI_APPID” : { “des” : “厂商HUAWEI-appId,示例:appid=12346578”, “key” : “com.huawei.hms.client.appid”, “value” : “” }, “JPUSH_HONOR_APPID” : { “des” : “厂商HONOR-appId,示例:12346578”, “key” : “com.hihonor.push.app_id”, “value” : “” }, “JPUSH_GOOGLE_API_KEY” : { “des” : “厂商google api_key,示例:g-12346578”, “key” : “google_api_key”, “value” : “” }, “JPUSH_GOOGLE_APP_ID” : { “des” : “厂商google mobilesdk_app_id,示例:g-12346578”, “key” : “google_app_id”, “value” : “” }, “JPUSH_GOOGLE_PROJECT_NUMBER” : { “des” : “厂商google project_number,示例:g-12346578”, “key” : “gcm_defaultSenderId”, “value” : “” }, “JPUSH_GOOGLE_PROJECT_ID” : { “des” : “厂商google project_id ,示例:g-12346578”, “key” : “project_id”, “value” : “” }, “JPUSH_GOOGLE_STORAGE_BUCKET” : { “des” : “厂商google storage_bucket,示例:g-12346578”, “key” : “google_storage_bucket”, “value” : “” } } } }, “Esand-LivingDetection” : { “plugin_info” : { “name” : “Android IOS 活体检测 眨眼 摇头 点头 张嘴 远近 炫彩 多动作组合”, “description” : “Android/IOS 活体检测 (眨眼,摇头,点头,张嘴,远近,炫彩),多动作组合,前后端结合,可用于实人认证,刷脸认证等场景”, “platforms” : “Android,iOS”, “url” : “https://ext.dcloud.net.cn/plugin?id=4780”, “android_package_name” : “io.youtugou”, “ios_bundle_id” : “io.youtugou”, “isCloud” : true, “bought” : 1, “pid” : “4780”, “parameters” : {} } } }
### 操作步骤:
云打包的时候,控制台提示存在原生插件;
打包完的自定义基座,运行到模拟器/真机都提示当前运行的基座不包含原生插件[JG-JPush],请在manifest中配置该插件;
确认已经正确配置了插件
预期结果:
能够正常打包出来包含原生插件的自定义基座
### 实际结果:
打包的自定义基座不好用
更多关于uni-app 云打包制作自定义模拟器基座,在 ios 模拟器中通过requireNativePlugin获取不到原生插件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
尝试了各种版本的 HBuilder 和各种原生插件,windows 和mac 真机和模拟器都尝试了,都不行
更多关于uni-app 云打包制作自定义模拟器基座,在 ios 模拟器中通过requireNativePlugin获取不到原生插件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我也遇到这个问题,您解决了吗
请问解决了吗,崩溃。。。
在使用 UniApp 进行开发时,如果你在 iOS 模拟器中通过 requireNativePlugin
获取不到原生插件,可能是由于以下原因导致的。你可以按照以下步骤进行排查和解决:
1. 确保插件已正确安装和配置
- 检查插件是否已安装:确保你已经在项目中正确安装了原生插件,并且在
manifest.json
文件中进行了配置。 - 插件配置:在
manifest.json
文件的"app-plus"
节点下,确保你已经正确配置了原生插件。
{
"app-plus": {
"plugins": {
"your-plugin-name": {
"type": "native",
"platforms": {
"ios": {}
}
}
}
}
}
2. 确保插件已正确集成到项目中
- iOS 原生代码集成:确保原生插件的 iOS 代码已经正确集成到你的 UniApp 项目中。你可以通过 Xcode 打开项目,检查是否有相关的原生代码和依赖库。
- Build Settings:在 Xcode 中,确保
Build Settings
中的Other Linker Flags
包含了-ObjC
和-l"your-plugin-name"
。
3. 确保插件在模拟器中可用
- 插件支持模拟器:有些原生插件可能只支持真机调试,而不支持模拟器。你可以尝试在真机上进行调试,看看是否能正常获取插件。
- 插件版本兼容性:确保你使用的插件版本与 UniApp 版本兼容。有时插件可能需要更新以支持最新版本的 UniApp。
4. 检查 requireNativePlugin
的使用方式
- 正确使用
requireNativePlugin
:确保你在代码中正确使用了requireNativePlugin
方法。例如:
const yourPlugin = uni.requireNativePlugin('your-plugin-name');