You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ionic中检测手机是否安装MetaMask钱包?

解决iOS检测MetaMask Wallet App安装状态的问题

问题根源

你遇到的两个错误都是因为URL Scheme使用错误以及Scheme声明和实际调用不匹配导致的:

  • 错误OSStatus error -10814:表示当前调用的URL Scheme没有任何已安装的App能响应(你用了错误的MetaMask Scheme)
  • 错误This app is not allowed to query for scheme metamask-blockchain-wallet:代码里调用的Scheme和info.plist中声明的不一致,iOS安全机制阻止了查询

正确解决方案

MetaMask iOS官方使用的URL Scheme是metamask://,按以下步骤修改:

  1. 修正检测代码
    把调用canOpenUrl的URL改成正确的Scheme:
const { value } = await AppLauncher.canOpenUrl({ url: 'metamask://' });
  1. 同步修改info.plist配置
    确保LSApplicationQueriesSchemes中声明的是正确的Scheme:
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>metamask</string>
</array>
  1. 测试注意事项
  • 必须使用iOS真机测试,模拟器无法安装MetaMask App
  • 确保测试设备上已经安装了MetaMask Wallet App
  • 修改配置后需要重新编译运行App

验证逻辑

修改完成后,调用canOpenUrl返回true表示已安装MetaMask,false表示未安装。

内容的提问来源于stack exchange,提问作者Ali Haider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:10:43