【问题标题】:QuartzCore/CAMetalLayer.h file not found未找到 QuartzCore/CAMetalLayer.h 文件
【发布时间】: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 。适用于捆绑的游戏模板。

标签: ios xcode macos metal


【解决方案1】:

出现此错误的原因是它仅适用于具有 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 设备而不是模拟器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-21
        • 1970-01-01
        • 1970-01-01
        • 2021-09-17
        • 2022-01-06
        • 2016-09-22
        相关资源
        最近更新 更多