XCode 13 beta(含beta5)无法加载Metal CoreImage Kernel问题咨询
问题解答
这个是Xcode 13 Beta 5的已知Bug,和你的项目配置无关。
Xcode 13 Beta版本的Metal编译器对Core Image内核的编译逻辑做了未同步调整,编译生成的Metal库数据格式与CIKernel的加载接口不兼容,因此触发你遇到的报错。你的代码逻辑、按照WWDC2020官方指引配置的Build Rules均不存在问题,所以相同代码可以在Xcode 12.5上正常运行。
可行的临时解决方法
- 如果需要继续在Xcode 13 Beta 5上开发,可以在Build Rules对应的Metal编译脚本中添加编译参数
-target air64-apple-ios14.0(参数中的系统版本和项目最低部署目标保持一致即可),强制编译器生成兼容格式的库文件 - 也可以暂时先用Xcode 12.5编译导出
.metallib文件,直接导入到Xcode 13项目中使用,跳过动态编译流程 - 该问题已经在Xcode 13正式版及后续版本中修复,升级到Xcode 13 RC/正式版后,原有配置无需修改即可正常运行
内容的提问来源于stack exchange,提问作者Deepak Sharma
相关产品推荐
相关产品推荐

