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

React Native iOS构建脚本执行报错info.plist不存在求助

问题根因

你的脚本执行时找不到目标Info.plist文件,核心原因有2个:

  • 脚本内plutil命令直接使用相对路径info.plist,但脚本是在组件自身的node_modules/geo-location-jimmy/scripts/目录上下文执行,默认工作目录下不存在该文件
  • 多数React Native项目的iOS配置文件名为首字母大写的Info.plist,且存放路径为ios/[项目名]/Info.plist,而非根目录下的小写info.plist
修复方案

1. 优化脚本逻辑

不要在组件安装脚本中执行yarn add命令,组件依赖直接声明到你组件的package.json的dependencies字段即可,重复安装会导致用户侧依赖版本冲突。修改后的完整脚本如下:

#!/bin/bash
set -e
set -x

# 定位项目根目录下的iOS Info.plist,排除build目录下的冗余文件
PLIST_PATH=$(find ./ios -name "Info.plist" | grep -v "build" | head -n 1)

if [ -z "$PLIST_PATH" ]; then
  echo "Error: 未找到iOS项目的Info.plist文件,请确认iOS目录存在"
  exit 1
fi

# 插入位置权限声明
plutil -insert NSLocationWhenInUseUsageDescription -string 'Location permission when in use' "$PLIST_PATH"

echo "configured iOS settings"

2. 补充路径兼容逻辑

如果你的组件需要支持多种项目结构,可以在脚本中增加路径判断逻辑,优先读取用户配置的plist路径,没有配置时再走默认查找逻辑。

3. 验证大小写匹配

如果用户的文件系统是大小写敏感的,小写的info.plist会直接触发找不到文件的报错,统一使用首字母大写的Info.plist匹配即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:45:01