RubyMotion 未加载 AudioToolbox 框架

Posted

技术标签:

【中文标题】RubyMotion 未加载 AudioToolbox 框架【英文标题】:RubyMotion is Not Loading AudioToolbox framework 【发布时间】:2012-09-16 19:32:08 【问题描述】:

所以我尝试将 AudioToolbox 与 RubyMotion 一起使用,

1,添加

app.frameworks << 'AudioToolbox'

在 Rakefile 中,

2,在我的一个简单的视图控制器方法中,简单地添加了

p AudioFileID

3,然后耙,

4,给定一个错误,

uninitialized constant RecorderViewController::AudioFileID (NameError)

显然AudioToolbox中的AudioFileID没有加载,我在CoreAudio中尝试了类似的东西,效果很好。我需要要求什么吗?任何想法?谢谢。

【问题讨论】:

您找到解决方案了吗?我正在努力解决类似的问题。 @Pete 好像我做到了,我稍后会测试它然后更新这个问题。 @simsicon 我可能也遇到过同样的问题,希望听到您的发现和解决方案! 我也有同样的问题,很想知道解决方案。 【参考方案1】:

我在 RubyMotion 错误跟踪器上创建了一张票,并自己解决了这个问题 3 天,这是我发现的

您必须为您定位的每个 ios 版本 (/Library/RubyMotion/data/ios/6.1/BridgeSupport/AudioToolbox.bridgesupport) 修补 AudioToolbox.bridgesupport,直到此问题在即将发布的 RubyMotion 版本中得到修复

替换此行 &lt;cftype type='^OpaqueAudioFileID=' name='AudioFileID'/&gt;

&lt;opaque type='^OpaqueAudioFileID=' name='AudioFileID'/&gt;

这样 RubyMotion 不会将 AudioFileID 视为在某处定义的结构(因此未初始化的常量错误),您将能够通过调用实例化指向 AudioFileID 的指针Pointer.new AudioFileID.type

【讨论】:

谢谢,我没试过,但看起来有道理!【参考方案2】:

我认为将 AudioToolbox 添加到您的框架可能正在加载工具包,除非您在构建过程中看到错误。你不需要其他任何东西。

我有一个 RubyMotion 程序,它可以正确调用 AudioFileOpenURLAudioFileGetProperty 等 AudioToolbox 函数。由于 AudioFileID 是一个结构,我不认为它被定义为使用的裸常量。如果您在使用 AudioToolbox 功能时遇到错误,请更新此问题或重新开始。

【讨论】:

以上是关于RubyMotion 未加载 AudioToolbox 框架的主要内容,如果未能解决你的问题,请参考以下文章

RubyMotion 中 CoreData 迁移的问题

Ruby Motion 中的导航 + 选项卡 - 加载时不显示选项卡标题

Rubymotion 企业版

如何在 RubyMotion 中使用 React Native

在RubyMotion中使用@selector

如何使用 Rubymotion 在 ios 模拟器中指定用户位置