使用Xcode 15 Beta-1构建iOS17项目遇Bundle非函数类型调用错误
解决Xcode15中GeneratedAssetSymbols的Bundle初始化器错误
针对你遇到的GeneratedAssetSymbols文件报错「Cannot call value of non-function type 'Bundle'」问题,给你几个可行的解决方向:
排查自定义Bundle类型冲突
如果项目中自己定义了同名的Bundle结构体或类,会和系统的Foundation.Bundle产生命名冲突,导致自动生成的代码找不到正确的初始化器。全局搜索项目里的struct Bundle或class Bundle,把自定义类型重命名即可。清理缓存并重建项目
Xcode的缓存或自动生成代码异常也可能引发这个问题:- 按
Cmd+Shift+K清理当前项目的构建缓存 - 删除DerivedData目录:打开Xcode偏好设置→Locations→点击DerivedData右侧的箭头,删除对应项目的文件夹
- 重启Xcode后重新构建项目
- 按
检查Assets.xcassets的Target配置
确认Assets.xcassets的Target Membership是否正确勾选了当前正在构建的target;如果项目有多个target,检查是否资源目录的归属配置出现了冲突。临时指定系统Bundle类型(不推荐长期用)
若暂时无法解决冲突,可以临时修改自动生成的GeneratedAssetSymbols文件,把Bundle(for: ...)改成Foundation.Bundle(for: ...),明确指定使用系统的Bundle类。注意:自动生成文件后续会被Xcode覆盖,这个方法仅作为临时应急方案。
内容的提问来源于stack exchange,提问作者Steven
相关产品推荐
相关产品推荐

