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.)