如何在Swift中导入Metal?

9
每当我试图在Swift文件或播放器中导入Metal时,Xcode都会显示“没有这个模块'Metal'”。这是Beta 1的一个bug吗?

1
@Kishyr 我认为这是因为Metal框架目前只能在实际设备上运行。 - Aky
@Aky,但他说他在普通的Swift文件中尝试过了。我的想法是这是一个错误。 - 67cherries
@68cherries 我在我的设备上运行了一些与Metal相关的示例代码(可在开发者门户网站上获得),至少对我来说是有效的。 - Aky
确保您拥有一个iOS游乐场,默认情况下,您将获得一个OS X游乐场。 - Pascal
@CharlieEgan 哦,我明白了,谢谢你的确认。 - Pascal
显示剩余2条评论
3个回答

17

这是一个平台问题,而不是Swift的问题。如果你手动检查Xcode中的平台SDK,你会发现Metal.framework仅存在于iOS8 SDK中。这意味着只有当你的代码将在实际的iOS设备上运行时,才能链接到该框架,而由于playgrounds不能在设备上运行,因此无法链接到该框架。


3
如果您创建了一个新项目,并且选择游戏(从菜单中告诉您要构建哪个应用程序)。
在您点击下一步后,您将有一个选项,您不会错过它,那就是GameTechnology,您有4个选择:
- SceneKit - SpriteKit - OpenGL - Metal
当您选择Metal时,它将创建一个导入Metal框架的新项目,但在该导入语句下面,您将找到一条注释,说明Metal框架仍然不可用,苹果公司仍在改进它,还会出现一个错误,指出“没有这样的模块'Metal'”。

1

IOS模拟器不支持Metal,因此您需要直接编译iOS设备。

(设置"您的应用程序-> iOS设备")。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接