Xcode归档时找不到amplifyconfiguration.json文件如何调试?
可能的原因及调试步骤
检查Build Phase脚本配置:
Amplify的配置文件通常由amplify pull或自定义Run Script生成。本地运行时脚本正常执行生成文件,但归档时可能因环境变量、路径错误或脚本被跳过(比如勾选了Run script only when installing)导致文件未生成。进入Xcode的Target > Build Phases,查看相关Run Script的逻辑,确认输出路径正确,且归档时脚本会执行。确认Amplify初始化路径:
检查代码中Amplify初始化的代码,是否硬编码了绝对路径(比如Amplify.configure(withFile: "/Volumes/workspace/repository/amplifyconfiguration.json"))。本地测试时该路径有效,但归档环境下路径不匹配。应改用相对路径加载,比如通过Bundle.main.url(forResource: "amplifyconfiguration", withExtension: "json")读取配置文件。检查项目文件引用:
这两个文件可能被.gitignore忽略,或Amplify CLI生成后未添加到Xcode项目。打开Finder查看项目目录,若存在这两个文件,将其拖入Xcode,确保勾选对应Target,并在Copy Bundle Resources中能看到它们。清理缓存重新构建:
执行Xcode的Product > Clean Build Folder,删除Derived Data目录后重新归档。缓存的旧路径信息可能导致归档时路径匹配错误。更新Amplify CLI并重新生成配置:
不同版本的Amplify CLI配置生成逻辑可能存在差异。更新CLI到最新版本,重新执行amplify pull生成配置文件,再将新文件添加到项目中。查看归档详细日志:
点击Xcode归档报错信息展开完整日志,定位是编译脚本还是Amplify框架代码触发了路径调用,以此缩小问题范围。
内容的提问来源于stack exchange,提问作者Dmdsandyl

