【问题标题】:Can I use kindle-highlights gem with RubyMotion我可以将 kindle-highlights gem 与 RubyMotion 一起使用吗
【发布时间】:2017-07-02 13:26:44
【问题描述】:

我正在尝试在 RubyMotion 中使用 kindle-highlights gem。我找到了motion-bundler,这应该可以帮助我将这两者结合在一起。

根据 motion-bundler 的常见问题解答,并非每个 gem 都可以工作。

我可以使用所有可用的随机 Ruby gem 吗?

很遗憾,没有。您只能使用不需要库(例如 psych.bundle)并且在运行时不使用字符串评估(例如使用带有字符串的 class_eval)的 Ruby gem。

如果我尝试使用 kindle-higlights,我会收到 uninitialized constant 错误:

(main)> 2017-02-14 10:13:41.606 HelloMotion[60710:1987881] app_delegate.rb:26:in `application:didFinishLaunchingWithOptions:': uninitialized constant AppDelegate::KindleHighlights (NameError) 2017-02-14 10:13:41.610 HelloMotion[60710:1987881] *** Terminating app due to uncaught exception 'NameError', reason: 'app_delegate.rb:26:in `application:didFinishLaunchingWithOptions:': uninitialized constant AppDelegate::KindleHighlights (NameError)

所以我想知道的是:

  • 我可以使用这个宝石吗?
  • 这是我应该预料到的错误吗?如果它不是故意的?
  • “不需要库”是指 kindle-highlights 正在使用的任何库或仅部分库吗?
  • 关于如何继续的任何建议?

【问题讨论】:

    标签: ios ruby rubygems rubymotion kindle


    【解决方案1】:

    几件事:

    • 只有支持 Ruby 1.9 的 gem 才能工作 RubyMotion 不支持较新版本的 Ruby。
    • 需要 C 扩展或依赖需要 C 扩展的 Gem 的 Gem 将无法工作
    • 带有 eval 的 Gem 不起作用

    motion-bundler 仍然是一个有用的库,应该会有所帮助,但是您想要的 gem 说它需要 Ruby 2.1.0,所以我认为它不会起作用。如果您想尝试使 gem RubyMotion 兼容(没有运动捆绑器),您可以尝试遵循本教程 http://blog.motioninmotion.tv/gems-for-ruby-or-rubymotion/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2020-08-04
      • 2018-10-23
      • 2011-02-22
      • 2021-03-16
      相关资源
      最近更新 更多