gpt4 book ai didi

xcode - 尝试将 CoreGraphics 与 MacRuby 一起使用时出现运行时错误

转载 作者:行者123 更新时间:2023-12-03 17:04:24 24 4
gpt4 key购买 nike

我正在尝试在 OSX 10.8 上构建 MacRuby 0.12 项目。问题似乎是这一行:

 @context = NSGraphicsContext.currentContext.graphicsPort

抛出此错误:

unrecognized runtime type `{CGContext=}' (TypeError)

我可以很好地取消引用NSGraphicsContext.currentContext,但是currentContext.graphicsPort在运行时失败。

从一些随机的 Google 搜索来看,MacRuby 似乎没有正确链接到 CoreGraphics。我尝试显式添加 ApplicationServices.framework,但这没有帮助。更令人困惑的是,在我 friend 几乎相同的设置上新检查的某些项目运行得很好,因此问题可能出在我的系统配置而不是项目设置上。

有没有人遇到过这种情况,可以提供一些建议吗?

最佳答案

好的,经过 @jballanc#macruby IRC 客户端的大量帮助后,我们确定这是由某些更改引起的 Mountain Lion 特定问题CoreGraphics 在最新 XCode 中的打包方式。如果您遇到此问题,请按以下方法解决:

  1. 使用以下内容重新生成 CoreGraphics 和 ApplicationServices 的 Bridge 支持文件:


    gen_bridge_metadata --64位-f/System/Library/Frameworks/CoreGraphics.framework/-o/System/Library/Frameworks/CoreGraphics.framework/Resources/BridgeSupport/CoreGraphics.bridgesupport

  2. 在 Mountain Lion 中,您需要从 MacRuby 代码中显式加载 CoreGraphics 框架 - 但在 Mountain Lion 之前的版本中,这样做会崩溃。因此,您需要进行如下检查:


    框架 'CoreGraphics' if (/12/=~ `uname -r`) == 0

  3. 根据您的环境,您可能需要也可能不需要在 XCode 项目设置中显式链接 ApplicationServices.framework。

完成上述所有操作后,我和使用 Snow Leopard 的伙伴就可以共享相同的代码库,并让它为我们双方工作。

关于xcode - 尝试将 CoreGraphics 与 MacRuby 一起使用时出现运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14079038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com