我可以在 RubyMotion 中使用 kindle-highlights gem 吗

Can I use kindle-highlights gem with RubyMotion

我正在尝试使用 kindle-highlights gem in RubyMotion. I found motion-bundler,这应该可以帮助我将这两者结合起来。

根据 motion-bundler 的常见问题解答,并非每个 gem 都有效。

Can I use every random Ruby gem available?

Unfortunately, no. You can only use Ruby gems which do not require libraries (e.g. psych.bundle) and do not use string evaluation at runtime (for instance using class_eval with a String).

如果我尝试使用 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)

所以我想知道的是:

两件事:

  • 只有支持 Ruby 1.9 的 gem 才能工作 RubyMotion 不支持更新版本的 Ruby。
  • 需要 C-extension 的
  • Gem 或依赖需要 C-extension 的 Gem 将不起作用
  • Gems with eval 将不起作用

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