未找到 QuartzCore/CAMetalLayer.h 文件
Posted
技术标签:
【中文标题】未找到 QuartzCore/CAMetalLayer.h 文件【英文标题】:QuartzCore/CAMetalLayer.h file not found 【发布时间】:2014-07-31 11:00:23 【问题描述】:我尝试从适用于 ios 的新 Metal API 中查看新示例。 当我下载代码并在 XCode 6 Beta 中打开它时,我收到以下错误消息:
QuartzCore/CAMetalLayer.h file not found
我需要添加一些其他文件还是缺少其他内容? Metal API 应该在 OSX 10.9.3 中可用。
是否需要升级到 Yosemite 10.10 Beta 才能运行这些示例?
【问题讨论】:
据我所知 Metal API 仅在 iOS 8 中可用,而不是在 OS X 中 XCode 6 中似乎没有包含 Metal API,即使我为 iOS 8 添加了 Quarz Core Framework。 使用“@import Metal”或“#import出现此错误的原因是它仅适用于具有 A7+ 芯片的设备,模拟器不适用于此。
【讨论】:
这个问题有什么解决办法 解决办法是必须使用A7+芯片的设备(模拟器不工作)。 感谢您的回答!我的意思是来苹果!一起来! 我认为您的回答不正确。我使用的是 iPad Pro 9.7,我相信这应该适用于这款高端设备。 在模拟iOS 13时不会报这个问题。【参考方案2】:尝试将设备目标切换到您的 iOS 设备 (a7+),Metal 在 iOS 模拟器中不可用。
【讨论】:
【参考方案3】:在 macOS 10.15 上运行时,iOS 13 / tvOS 13 模拟器现在支持CAMetalLayer
。 (它始终存在,但如果您在 macOS Mojave 上运行,它将无法正常工作)。
【讨论】:
【参考方案4】:我认为这是测试版 iOS 模拟器中的一个疏忽(直到当前的测试版 2): /Applications/Xcode6-Beta2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/
缺少 CAMetalLayer.h
但是,如果您将测试版安装到您的 iOS 设备上,它就在那里: /Applications/Xcode6-Beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAMetalLayer.h
【讨论】:
因为没有金属 API 和相关类的 x86/桌面实现【参考方案5】:请选择 iPhone 设备而不是模拟器。
【讨论】:
以上是关于未找到 QuartzCore/CAMetalLayer.h 文件的主要内容,如果未能解决你的问题,请参考以下文章