Windows系统Expo创建的React Native项目info.plist位置及模板咨询
解决Expo部署iPhone时的ATS配置问题
我来帮你理清这个问题——毕竟用Expo做iOS部署时,ATS配置是个常见的卡点:
1. 先划重点:Expo托管项目不需要手动找原生Info.plist
如果你是用create-react-native-app创建的Expo托管式项目(也就是没执行过eject的项目),本地根本看不到原生的Info.plist文件——因为Expo会帮你托管和生成原生代码。这种情况下,你只需要通过项目根目录的**app.json或app.config.js**来配置ATS例外,Expo会自动把配置注入到构建后的Info.plist里。
举个具体的配置例子,允许特定域名的非HTTPS请求:
{ "expo": { "ios": { "infoPlist": { "NSAppTransportSecurity": { "NSExceptionDomains": { "your-target-domain.com": { "NSIncludesSubdomains": true, "NSExceptionAllowsInsecureHTTPLoads": true } } } } } } }
2. 只有eject后的裸项目才能手动编辑Info.plist
如果你因为特殊需求必须直接修改Info.plist,那你需要先把项目转为裸工作流:
- 执行命令:
expo eject(注意:这步不可逆,会生成完整的iOS和Android原生目录) - 之后,
Info.plist会放在项目根目录的ios/[你的项目名称]/Info.plist路径下 - eject后会生成默认的
Info.plist模板,包含基础的ATS配置、权限声明等必要内容,你可以在此基础上修改。
小提醒
尽量避免用NSAllowsArbitraryLoads全局关闭ATS限制,App Store审核时很容易被拒,最好只给需要的域名加例外。
内容的提问来源于stack exchange,提问作者rnofenko
相关产品推荐
相关产品推荐

