Xcode 15、iOS 17归档失败:文件名过长问题求助
Xcode 15 GA 归档“Error opening _.stringsdata for output: File name too long”问题解决方案
快速临时修复
- 缩短项目存储路径:将项目从深层嵌套的文件夹移动到根目录附近(比如
~/Desktop或/Users/你的用户名/Projects),避免系统路径长度限制触发文件名溢出。 - 彻底清理构建缓存:
- 关闭Xcode
- 删除
~/Library/Developer/Xcode/DerivedData下的全部内容 - 重新打开项目,执行
Product > Clean Build Folder(快捷键Cmd+Shift+K)
- 禁用宏生成本地化字符串:在项目Build Settings中,找到
Swift Compiler - Custom Flags,添加编译标记:-Xfrontend -no-localized-strings,阻止Swift宏生成过长的本地化文件。
针对SwiftData/WidgetKit/StoreKit的优化
- 简化SwiftData模型命名:避免使用过长或嵌套层级深的模型名称,减少宏生成代码的路径长度。
- 拆分Widget扩展逻辑:如果Widget包含多个复杂的TimelineProvider或配置类型,拆分到独立文件中,避免单个宏生成的文件路径超出限制。
- 精简StoreKit标识符:检查StoreKit产品的标识符命名,避免过长的字符串关联生成超长路径的本地化文件。
版本替代方案
若上述方法无效,可尝试升级至Xcode 15.1 Beta版本,苹果在该版本中修复了多个Swift宏相关的路径长度问题,归档流程稳定性更高。
注意:使用Beta版本前请做好项目备份,避免潜在兼容性问题。
内容的提问来源于stack exchange,提问作者Dudi
相关产品推荐
相关产品推荐

