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

如何在Xcode 16中创建文件夹引用?解决React构建加载异常

在Xcode 16中添加React构建产物失败的解决方法

问题概述

尝试将React构建生成的build文件夹添加到Xcode 16项目中,用于WebView加载本地资源,但添加时弹出的对话框缺少「Create folder references」选项,导致后续Swift代码无法找到该文件夹,控制台报错No such file or directory。

操作步骤:

  • 右键点击项目导航栏中的项目
  • 选择「Add files to "<project_name>"」
  • 选中build文件夹并点击「Add」

实际弹出的对话框:
实际添加对话框

预期应出现的对话框(含文件夹引用选项):
预期添加对话框

测试代码及报错:

let docsPath = Bundle.main.resourcePath!.appending("/build")
let fileManager = FileManager.default

do {
    let docsArray = try fileManager.contentsOfDirectory(atPath: docsPath)
    print(docsArray)
} catch {
    print(error)
}

控制台输出:No such file or directory


解决步骤

1. 重新正确导入build文件夹

Xcode 16调整了文件导入界面,需手动展开选项设置:

  • 重复添加文件的操作流程,选中build文件夹后,点击对话框右下角的「Options」按钮
  • 在展开的选项面板中,将「Added folders」设置为「Create folder references」
  • 勾选「Copy items if needed」(按需选择,若需将文件夹复制到项目目录则勾选)
  • 点击「Add」完成导入

2. 确认Bundle资源配置

  • 进入项目的「Build Phases」标签页
  • 查看「Copy Bundle Resources」列表,确保build文件夹(蓝色图标)已被包含
  • 若未找到,点击列表下方的「+」按钮,手动添加build文件夹

3. 优化资源路径获取代码

避免直接拼接路径,使用Bundle提供的安全方法获取路径:

guard let buildFolderURL = Bundle.main.url(forResource: "build", withExtension: nil) else {
    print("无法在Bundle中找到build文件夹")
    return
}

do {
    let contents = try FileManager.default.contentsOfDirectory(at: buildFolderURL, includingPropertiesForKeys: nil)
    // 打印文件夹内的文件名
    print(contents.map { $0.lastPathComponent })
} catch {
    print("读取build文件夹失败:\(error.localizedDescription)")
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 06:20:09