uni-app 只有ios本地运行调试有问题,其他的安卓,小程序,h5都可以

发布于 1周前 作者 ionicwang 来自 Uni-App

uni-app 只有ios本地运行调试有问题,其他的安卓,小程序,h5都可以

信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Windows
版本号 22631.2861
HBuilderX 正式
版本号 3.99
手机系统 iOS
版本号 iOS 15
手机厂商 苹果
手机机型 iPhone 11
页面类型 nvue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

bug描述:

其他端都运行正常(安卓,微信小程序,H5都运行正常)ios直接进去白屏,报错 Uncaught (in promise) TypeError: t.getComponentRect is not a function

示例代码:

首次运行就直接报错,什么都不显示

操作步骤:

首次运行就直接报错,什么都不显示

预期结果:

首次运行就直接报错,什么都不显示

实际结果:

首次运行就直接报错,什么都不显示


1 回复

uni-app 开发过程中,如果你遇到只有 iOS 本地运行调试有问题,而其他平台(如安卓、小程序、H5)都正常的情况,可能是由于以下几个原因导致的。以下是一些常见的排查步骤和解决方案:


1. 检查 Xcode 环境

  • Xcode 版本:确保你使用的是最新版本的 Xcode,旧版本可能不支持某些特性或存在兼容性问题。
  • 证书和签名:检查 iOS 项目的证书和签名配置是否正确。打开 Xcode 项目,确保 Signing & Capabilities 中选择了正确的 Team 和证书。
  • 模拟器或真机:如果是模拟器运行有问题,可以尝试使用真机调试,或者更换模拟器类型(如 iPhone 13、iPhone 14 等)。

2. 检查 uni-app 版本

  • 更新 uni-app:确保你的 uni-app 是最新版本,旧版本可能存在 iOS 兼容性问题。可以通过以下命令更新:
    npm update -g @vue/cli
    npm update -g @dcloudio/uni-cli
  • 检查依赖包:确保项目中所有依赖包都是最新的,尤其是与 iOS 相关的插件或 SDK。

3. 检查 iOS 相关配置

  • Info.plist:检查 Info.plist 文件中是否有正确的配置,尤其是权限相关的内容(如相机、位置等)。
  • iOS 最低版本:确保 manifest.json 中配置的 iOS 最低版本支持你当前使用的 Xcode 版本。

4. 查看日志和错误信息

  • Xcode 控制台:运行项目时,查看 Xcode 控制台的日志,是否有明确的错误信息。
  • uni-app 控制台:在 HBuilderX 中运行项目时,查看控制台是否有报错信息。
  • 真机调试日志:如果是真机调试,可以通过 Xcode 的 Devices and Simulators 查看设备日志。

5. 检查代码兼容性

  • 平台特有代码:检查是否有针对 iOS 的特殊代码逻辑,可能是这些逻辑导致了问题。
  • 插件或原生代码:如果使用了原生插件或自定义原生代码,确保这些代码在 iOS 上没有问题。

6. 尝试清理缓存

  • 清理 uni-app 项目的缓存,重新编译运行:
    npm run clean
    npm run dev
  • 在 HBuilderX 中,可以尝试 项目 -> 清理项目缓存

7. 检查网络或代理设置

  • 如果是网络请求问题,检查 iOS 的网络权限配置,确保 Info.plist 中有以下配置:
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!