问题标签 [macruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3374 浏览

objective-c - 您可以使用 MacRuby 为 Mac App Store 开发应用程序吗?

我对 Objective-C 有一些基本的了解,但更喜欢 Ruby,所以我正在考虑使用 MacRuby。是否可以使用 MacRuby 为 Mac App Store 开发应用程序,还是必须使用 Objective-C?(请注意,我现在不太关心 iOS/iPhone 和 iPad 商店,只关心 Mac OS X 应用商店。)

0 投票
1 回答
2049 浏览

javascript - 如何从画布数据创建图像?

在我的应用程序中,我试图将呈现的 HTML 画布的任意部分保存到图像文件中。在我的 Javascript 中,我调用并将结果对象传递给我的 macruby 代码(尽管如果您知道 objc 中的解决方案,我也很感兴趣)。ctx.getImageData(x, y, w, h)

在那里,我正在尝试创建一个NSBitmapImageRep对象,以便我可以保存为用户所需的图像格式。

到目前为止,这是我的代码(该函数将WebScriptObject作为其参数):

该代码似乎没有通过该initWithBitmapDataPlanes功能,但没有给出错误。

我的问题是:我做错了什么?这种方法是否合理(如果不是,什么会更好?)。

编辑

使用下面 Phrogz 的答案,我得到了一个中间解决方案:我使用另一个画布、getImageData、putImageData 和 toDataURL 来获取所需区域的数据 url。在我的setimagedata我只是保存数据 url,我的dataOfType: error:方法如下所示:

失踪的分泌酱是这个丑陋的恶作剧:

它利用 Cocoa 中的鸭子类型,并通常在 NSData 上定义一个选择器以将自身写入文件。

到目前为止,这似乎有效,我很高兴我找到了解决方案。但是我仍然希望看到使用 NSBitmapImageRep 的解决方案。我正在实现的下一个功能是导出到视频,我相信我需要这个类提供的更精细的控制。

0 投票
1 回答
358 浏览

core-graphics - NSOperation 中来自 CoreGraphics API 的 EXC BAD ACCESS

我正在尝试使用 MacRuby 在 NSOperation 中进行一些 CoreGraphics/CoreImage 操作。我有一些 API 调用将源文件读入 CG 并设置 CGImageDestination。

如果我将以下代码放入 NSOperation.init 中,一切正常:

但是,如果我将相同的代码放入 NSOperation 的主函数中,则会出现零星的 EXC_BAD_ACCESS 错误。并且仅在将 NSOperation 传递给 NSOperationQueue 时;如果我自己调用 main ,它工作得很好。

在我运行的主要部分结束时:

更奇怪的是它在 init 中工作,即使 init 不是从主线程调用的(所以不是主线程/后台线程问题,我猜)

有什么想法吗?

0 投票
1 回答
1024 浏览

xcode - MacRuby + Interface Builder:如何显示,然后关闭,然后再次显示窗口

我是 MacRuby 和 Cocoa 的完整 n00b,所以在回答时请记住这一点 - 我需要很多细节和解释。:)

我已经建立了一个简单的项目,其中有 2 个窗口,这两个窗口都是用 Interface Builder 构建的。第一个窗口是使用表格视图的简单帐户列表。它在表格下方有一个“+”按钮。当我单击 + 按钮时,我想显示一个“添加新帐户”窗口。

我还有一个AccountsController < NSWindowController和一个AddNewAccountController < NSWindowController类,设置为这些窗口的代表,连接了适当的按钮单击方法,以及引用所需窗口的插座。

当我单击“帐户”窗口中的“+”按钮时,我会触发以下代码:

这在我第一次单击 + 按钮时效果很好。一切都出现了,我可以输入我的数据并将其绑定到我的模型。但是,当我关闭添加新帐户表单时,事情开始变得糟糕。

如果我将添加新帐户窗口设置为关闭时释放,那么我第二次单击 + 按钮时,该窗口仍会弹出但它被冻结。我无法单击任何按钮、输入任何数据,甚至无法关闭表单。我认为这是因为表单的代码已经发布,所以没有消息循环处理表单......但我对此并不完全确定。

如果我将添加新帐户窗口设置为关闭时不释放,那么我第二次单击 + 按钮时,窗口显示正常并且可用 - 但它仍然包含我之前输入的所有数据......仍然绑定到我以前的 Account 类实例。

我究竟做错了什么?当我单击 Accounts 表单上的 + 按钮时,创建 Add New Account 表单的新实例、创建新 Account 模型、将该模型绑定到表单并显示表单的正确方法是什么?

...这一切都在 OSX 10.6.6、64 位和 XCode 3.2.4 上完成

0 投票
1 回答
200 浏览

ruby - Macruby prefPane - 没有任何效果

我使用 Macruby 创建了一个超级简单的示例应用程序。问题是 prefpane 不起作用,什么也没有发生。

我创建了一个按钮,在Main.rb文件中有一个回调。当有人单击按钮时,标签应将值更改为“某些数据”。

Main.rb 文件的链接还包含非工作示例项目。

只添加了 3 行代码。

0 投票
7 回答
16544 浏览

ruby - 嵌套类如何访问 Ruby 外部类中的方法?

我想从 b 调用 a 并引发异常。我怎样才能?

0 投票
2 回答
1127 浏览

textmate - 如何让 Textmate 使用 MacRuby?

那么,如何让 Textmate 使用 MacRuby(1.9.2 的一个分支)而不是 OSX 中的默认 Ruby 1.8.7?

0 投票
0 回答
925 浏览

objective-c - 如何将 libcocos2d.a(或任何静态库)加载到 MacRuby 中?

我尝试了 framework 和 require,都带有路径,并得到了相同的 library not found 消息。

我找到了一篇关于为静态 C 库生成 BridgeSupport 文件的文章。我以前从未这样做过,所以会尝试并报告。

但是,如果有人有任何加载 cocos2d 甚至自定义静态库的经验,将不胜感激。

谢谢。

http://www.macruby.org/trac/wiki/MacRubyTutorial#AccessingStaticAPIs http://bridgesupport.macosforge.org/trac/

0 投票
3 回答
5688 浏览

iphone - 使用 MacRuby 开发 iPhone 应用程序

我正在寻找构建一个 iPhone 应用程序,但我没有足够的时间来学习 Objective-C。我已经了解 Ruby 并发现了 MacRuby。在没有任何 Objective-C 知识的情况下,是否可以单独使用 MacRuby 构建 iPhone 应用程序?

0 投票
1 回答
273 浏览

ruby - 使用 MacRuby/XCode 的交互式 shell 机制

我有以下 noobie 类:

属于该控制器的接口基本上从输入框读取数据并将其数据路由到 shell 语句。它有效,但没有我想要的那么酷。

例如,我可以使用' ls ',没有问题。但是,当我创建更长的命令(例如“ ls -l ”或“ ruby -v ”)时,几乎就像什么都没发生一样。任何人的线索?

谢谢!