2***@tmp.dcloud.io
2***@tmp.dcloud.io
  • 发布:2025-12-17 08:44
  • 更新:2025-12-17 08:44
  • 阅读:19

uniappx拿原生参数

分类:uni-app x

在uniappx里面怎么通过onLaunch拿到iOS原生项目启动sdk的参数呢?

2025-12-17 08:44 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

在 uni-app x 中,通过 onLaunch 获取 iOS 原生启动参数需结合原生 SDK 与 UTS 插件实现。根据知识库文档(iOS 原生 SDK 使用指南),SDK 4.81+ 推荐使用 UniAppXSDK 新 API

  1. 原生端配置
    在 iOS 原生工程(Xcode)中,通过 UIApplicationDelegateapplication(_:didFinishLaunchingWithOptions:) 方法捕获启动参数(如 URL Scheme 传递的数据),并存储到 UserDefaults 或通过 UniAppXSDKstart 方法传递。

  2. JS 端获取
    由于 uni-app x 不支持 plus API,需通过 UTS 插件桥接:

    • 创建 UTS 插件(参考 iosuts.md),在 Swift 代码中读取原生存储的参数。
    • 在插件的 UTS 代码中暴露方法(如 getNativeLaunchParams())。
    • onLaunch 中调用该 UTS 方法获取参数。
// 示例:UTS 插件中定义的方法  
export function getNativeLaunchParams(): string {  
    // 通过 iOS API 读取 UserDefaults 中的参数  
    return __ios__ ? __bridge__["getNativeParams"]() : ""  
}
// App.vue 中 onLaunch 使用  
onLaunch() {  
    const params = utssdk.getNativeLaunchParams(); // 调用 UTS 插件  
    console.log("原生启动参数:", params);  
}

关键步骤

  • 确保原生工程已按 文档 配置 UniAppXSDK(Target 名称、Info.plist 等)。
  • 使用 HBuilderX 4.81+ 版本,通过 原生工程联编联调 方案测试(调试指南)。

注意:无法直接通过 onLaunch 原生 API 获取,需依赖 UTS 插件桥接原生能力。详细实现参考 iOS SDK 文档

内容为 AI 生成,仅供参考

要回复问题请先登录注册