分享 RubyMotion 升级到 2.0 了

chunlea · 2013年05月10日 · 最后由 chunlea 回复于 2013年05月10日 · 3638 次阅读

http://blog.rubymotion.com/post/49943751398/rubymotion-goes-2-0-and-gets-osx-support-templates-and

重大更新 支持 OSX 应用程序的开发。Macruby 后继有人了?

我记得这个是要付费的。

爽了这回

~  ᐅ sudo motion update
Password:
Connecting to the server...
Downloading software update...
######################################################################## 100.0%
Installing software update...
Software update installed.

= RubyMotion 2.0 =

  * Added OSX development support. Use `motion create --template=osx' to create
    an OSX project. Use `rake -T' inside to see the available tasks and
    `rake config' to see the application config variables. RubyMotion OSX apps
    are built for both i386 and x86_64 architectures and can support OSX v10.7
    and v10.8 as deployment targets. Check out the HipByte/RubyMotionSamples
    repository on GitHub for sample code and the devcenter for documentation.
  * Added command-line plugin system, which lets developers extend the
    `/usr/bin/motion' command-line tool with new commands (ex. `motion foo').
    Builtin commands have been extracted as plugins and 3rd-party plugins can
    be created inside the `~/Library/RubyMotion/command' directory.
  * Added a RubyMotion gem project template. Use `motion create --template=gem'
    to create one and check `rake -T' inside to see the available tasks.
  * Added project templates system (usage: `motion create --template=xxx').
    RubyMotion comes with 3 templates: `ios' (default), `osx' and `gem'.
    3rd-party project templates can be created inside the
    `~/Library/RubyMotion/template' directory.
  * Deprecated `require "motion/project"' in project Rakefiles. Existing iOS
    projects should now require `motion/project/template/ios' instead. We
    preserve compatibility for now but please do migrate.
  * Added the `motion account' command to open the license account page.
  * Added the `WeakRef' class to create weak references. Usage is
    `WeakRef.new(obj)' and follows CRuby's WeakRef stdlib class. Passed
    references will not be retained. Use with caution as sending a message
    to a WeakRef object whose reference has been prematurely collected will
    cause a runtime crash. The `WeakRef' class will be replaced by a no-op
    once the runtime is able to deal with cyclic references.
  * Improved the detection of file dependencies to handle absolute paths.
    Thanks to Clay Allsopp for the patch (pull request #82).
  * Improved the build system by using a separate build directory for source
    files that resides outside of the project (ex. gems) in order to reduce
    the compilation time.
  * Fixed a bug where a crash would happen when calling a method defined using
    #define_method that was contained in an extended module or in an inherited
    class that includes a module.
  * Fixed a bug where a crash would happen when trying to override the
    `drawMapRect:zoomScale:inContext:' method in a MKOverlayView subclass.
  * Improve `rake spec' to display an error message if there are no spec files
    in the `spec' project directory.
  * Fixed a bug where trying to set a constant inside another constant that is
    not a Module object would not raise an exception (ex. `A=42; A::B=42').
  * Fixed a bug where Module#include? would not be raising an exception if the
    receiver was not a Module object.
  * Fixed a bug where `return' on a yielded block that used `ensure' would not
    work.
  * Fixed a bug where `catch' and `throw' would not work on an iOS device.
  * Fixed a bug where a crash would happen when using a variadic method from
    the Cocos2D framework.
  * Fixed a bug where a memory leak would happen when creating an object and
    passing an arbitrary expression to the initializer method.
  * Fixed a bug in build system where a "stack level too deep" exception could
    happen.
  * Fixed a bug when detecting file dependencies where classes or modules
    defined using the `XXX::YYY' syntax could not be properly parsed.
  * Fixed a limitation in Struct where creating a struct with more than 10
    fields was not possible. We moved the limit to 100 fields.
  * Fixed a limitation in the dispatcher where dynamically sending a message
    or yielding a block with more than 10 arguments was not possible. We moved
    the limit to 100 arguments.
  * Fixed a bug in the REPL where it would get corrupted when receiving too
    much input from the evaluator (ex. when using auto-completion).
  * Fixed a bug where a compilation error would happen when parsing a
    BridgeSupport structure that included a very large field.
  * Improved the `motion ri' command to honor the $PAGER environment variable.
  * Improved the `app.vendor_project' method to honor the :bridgesupport_cflags
    and :bridgesupport_exceptions options, which will be appropriately passed
    to the BridgeSupport generator. Thanks to Juan Karam for the patch.
  * RubyMotion is one year old! Thanks all for your support.

                          |\      _,,,---,,_
                          /,`.-'`'    -.  ;-;;,_
                         |,4-  ) )-,_..;\ (  `'-'
                        '---''(_/--'  `-'\_)

(See the `/Library/RubyMotion/NEWS' file for all changes.)

#1 楼 @yzhrain 对啊,不过因为参加一个比较烂国内比赛,我就坑了我们学院一次,买了个学生版本,然后拿去报销了。学生版很便宜,才 40 美金,好像就是不能直接上传到 App Store

需要 登录 后方可回复, 如果你还没有账号请 注册新账号