【问题标题】:Change Ruby program into simple Desktop Mac App将 Ruby 程序更改为简单的桌面 Mac 应用程序
【发布时间】:2020-05-15 05:05:43
【问题描述】:

我有一个程序可以读取文件中的数据、更改某些元素并创建一个新文件。代码如下所示:

lines = IO.readlines('single_before_CAP.txt').map do |line|
a = line.split.each { |i| i.capitalize! }
a2 = a.join(" ")
File.open('single_after_CAP.txt', 'w') do |file|
  file.puts lines
end

如何使用 Xcode 和 MacRuby 让这个程序作为 GUI 应用程序运行?如果不是 Xcode 和 MacRuby,我还能做其他简单的任务来使它成为一个独立的 GUI 应用程序吗?

【问题讨论】:

  • 创建一个macruby应用程序有很多步骤。我在答案中添加了指向它们的链接。这看起来有帮助吗?
  • 谢谢。看起来有人删除了我说我已经查看了可用教程的部分。我能够通过它们,但我不需要计时器或应用程序来告诉我如何说“按钮单击!”等。我想它可以像我想要的一样简单。我只想让程序“运行”,而无需他们去 Cmd Line 并告诉它运行。
  • 啊...人们可能很难有动力为这些教程编写另一个(可能很长)版本,专门针对您的问题。您可能希望开始使用教程中描述的过程,等到您对教程中的某个步骤有特定问题,然后再提出更具体的问题。

标签: ruby xcode macruby


【解决方案1】:

【讨论】:

    【解决方案2】:

    听起来你想要的基本上是一个简单的包装应用程序,它在双击时运行你的脚本,而不是一个完整的 GUI。 Platypus 是最简单的方法。你只需给它你的脚本,设置几个参数(例如,你的脚本是否需要一个文件作为参数),它会给你一个可双击的应用程序,可以选择包含一个简单的界面,如进度条或文本输出.

    【讨论】:

    • 我尝试过 Platypus,但它不会读取我所有的 Ruby 代码,当我从命令行运行时,会出现错误,而这些错误不存在。仅供参考 - 上面的代码不是我真正需要的,而是一个基本概念。实际代码有数百行。
    【解决方案3】:

    如果您只想运行一个无头 ruby​​ 应用程序,您可以使用 Automator。只需创建一个新的工作流程,添加一行来执行您的应用程序,然后将其保存为“.app”。如果你愿意,我可以给你更具体的说明。

    @jmitchell1009

    具体说明:如果您不需要在程序中输入任何内容(如文件或参数),最简单的方法是:

    1. 打开Automater
    2. 选择新的“应用程序”(这会将您的最终输出保存为 .app,如果您需要其他内容,可以选择其他选项)
    3. 选择“运行 Shell 脚本”操作,并将其拖到您的工作流程中。
    4. 选择一个 shell 来运行它(如果你只是在运行一个 ruby​​ 应用程序,这并不重要)。
    5. 选择输入应该去哪里(同样,如果你没有输入,那应该很重要)
    6. 为您的 ruby​​ 应用程序输入命令。诸如“ruby commandpath”之类的东西(当然不带引号)
    7. 您可能需要运行几次以确保其正常工作。完成后,您可以保存工作流程,它会为您创建一个 .app。

    如果您有任何问题,请告诉我。

    【讨论】:

    • 请。我将自行调查,但任何有助于使其更易于理解的步骤都会有所帮助。
    • 好的。我已经这样做了,并且在我的代码中出现错误。它不会读取array_2.gsub(/ Ws /, ", west side").gsub(/ Es /, ", east side"),引用第二个“.gsub”作为有问题的行,错误“语法错误,意外的“。”,期待 kEND。我也使用鸭嘴兽得到这个,但是可以从命令行运行没有问题。它不能识别我当前的 Ruby 版本吗?从命令行使用 1.9.3。我如果该信息有帮助,我的电脑上也有旧版本。
    • @jmitchell1009 shell 脚本实际上只是像在命令行上一样运行它。您使用的是 OS X 打包的 ruby​​ 版本还是安装了其他东西?您可以运行 which ruby 以查看您从命令行调用的版本。
    • 让我详细说明一下。首先,我编写了一个 .rb 文件,它打开一个 txt 文件,读取每一行的数据,根据代码更改数据,然后保存一个新文件。当我在命令行中运行“ruby filename.rb”时,代码运行并且我有一个新文件。一切正常。当我使用您的步骤构建应用程序时:首先,我添加了“运行 Shell 脚本”(我使用了 bin/bash 并将输入传递给标准输入)。我输入了“ruby /Users/jmitchell/Desktop/filename.rb”。当我尝试运行时,我收到一条通知,说我需要添加“获取指定的查找器项目”,我这样做了。我点击了运行,得到了上面列出的语法错误。
    • @jmitchell1009 它可能与您运行它的路径有关。这是我唯一能想到的,从你所说的,你能分享一下代码吗?
    猜你喜欢
    • 2011-07-29
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    相关资源
    最近更新 更多