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

React Native Expo iOS Testflight版本闪屏不显示问题求助

iOS TestFlight版本闪屏不显示问题排查方案

问题描述

Expo开发的React Native应用,本地Android、iOS端闪屏均正常显示,但打包后TestFlight的iOS版本仅显示白屏,闪屏无法加载;Android APK版本闪屏正常。当前app.json配置如下:

{
  "expo": {
    "name": "ShoppingStore",
    "slug": "ShoppingStore",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "userInterfaceStyle": "light",
    "plugins": [
      [
        "expo-image-picker",
        {
          
        }
      ]
    ],
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "cover",
      "backgroundColor": "#ffffff"
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "ios": {
      "buildNumber": "5",
      "supportsTablet": true,
      "bundleIdentifier": "com.domain.com"
    },
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#ffffff"
      },
      "package": "com.domain.com",
      "versionCode": 3
    },
    "web": {
      "favicon": "./assets/favicon.png"
    },
    "extra": {
     
    }
  }
}

排查与解决步骤

  • 检查闪屏图片规格与格式
    iOS对闪屏图片分辨率有严格的设备适配要求,手动制作的图片容易出现尺寸不匹配导致打包后无法加载。建议用npx expo splash:generate命令自动生成全平台适配的闪屏资源,同时确保图片为无损PNG格式,路径./assets/splash.png指向的文件存在且未损坏。

  • 强制指定资源打包优先级
    当前assetBundlePatterns配置为["**/*"],虽理论上包含所有资源,但iOS打包时可能存在资源遗漏问题。修改为["assets/splash.png", "**/*"],明确优先打包闪屏图片,避免资源被排除在打包产物外。

  • 清理缓存并重新构建
    运行npx expo start --clear清理Expo本地缓存,再重新执行iOS打包命令。旧缓存可能导致资源未同步更新到最终包中。

  • 分析iOS构建日志
    打包过程中重点查看与splash相关的日志输出,若存在"资源找不到""尺寸不匹配"等警告或错误,可直接定位问题根源。

  • 验证闪屏加载状态
    临时将splash配置中的backgroundColor改为非白色(比如#ff0000),重新打包上传TestFlight。如果显示红色背景,说明闪屏图片未被正确加载;若仍为白屏,可能是闪屏组件逻辑或Expo SDK存在兼容问题。

  • 重新上传TestFlight包
    部分场景下TestFlight会缓存旧包,确保重新构建后上传的是最新产物,且ios.buildNumber已更新为新值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:52:45