hotcocoa 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.yardopts +4 -3
- data/History.markdown +45 -0
- data/README.markdown +41 -41
- data/docs/HeatingUpWithHotCocoa-part1.markdown +189 -0
- data/docs/Mappings.markdown +1 -1
- data/docs/Resources.markdown +8 -8
- data/docs/Troubleshooting.markdown +15 -0
- data/docs/Tutorial.markdown +1 -1
- data/lib/hotcocoa/application/builder.rb +3 -1
- data/lib/hotcocoa/application/specification.rb +4 -3
- data/lib/hotcocoa/delegate_builder.rb +128 -99
- data/lib/hotcocoa/layout_view.rb +173 -107
- data/lib/hotcocoa/version.rb +1 -1
- data/template/__APPLICATION_NAME__.appspec +7 -4
- data/test/application/test_builder.rb +19 -6
- data/test/application/test_specification.rb +11 -6
- data/test/core_extensions/test_range.rb +9 -9
- data/test/test_delegate_builder.rb +64 -0
- metadata +14 -8
- data/History.txt +0 -29
data/.yardopts
CHANGED
@@ -6,9 +6,10 @@
|
|
6
6
|
--readme README.markdown
|
7
7
|
lib/**/*.rb
|
8
8
|
-
|
9
|
-
History.
|
9
|
+
History.markdown
|
10
|
+
docs/Tutorial.markdown
|
10
11
|
docs/Contributors.markdown
|
12
|
+
docs/Mappings.markdown
|
11
13
|
docs/Overview.markdown
|
12
14
|
docs/Resources.markdown
|
13
|
-
docs/
|
14
|
-
docs/Mappings.markdown
|
15
|
+
docs/Troubleshooting.markdown
|
data/History.markdown
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# Release History
|
2
|
+
|
3
|
+
## 0.6.1 2011-12-4
|
4
|
+
|
5
|
+
* Enhancements:
|
6
|
+
* Bridgesupport embedding now enabled by default for new projects
|
7
|
+
* Ensure that the short version is set in an app bundles Info.plist
|
8
|
+
* Begin overhauling the documentation
|
9
|
+
* Better error handling for the DelegateBuilder
|
10
|
+
* Document and refactor layout manager internals
|
11
|
+
|
12
|
+
* Fixes:
|
13
|
+
* Fixed some UI glitches with the Demo app
|
14
|
+
* The application builder now sets the copyright string in an app bundles Info.plist
|
15
|
+
* DelegateBuilder no longer crashes when parameters were given as Symbols
|
16
|
+
|
17
|
+
## 0.6.0 2011-10-14
|
18
|
+
|
19
|
+
* 10 enhancements:
|
20
|
+
+ New application builder to work with MacRuby 0.11
|
21
|
+
+ Old application builder is deprecated
|
22
|
+
+ New application templates now use an appspec, similar to a gemspec
|
23
|
+
+ config.yml is now deprecated
|
24
|
+
+ Lazier loading for mappings (may break custom mappings!)
|
25
|
+
+ API documention (~67% coverage so far)
|
26
|
+
+ Regression tests (< 67% coverage so far)
|
27
|
+
+ Updating and porting of the tutorial documentation (~40% complete)
|
28
|
+
+ HotCocoa now works when compiled (HotCocoa will boot ~2.5 faster)
|
29
|
+
+ HotCocoa is now leaner
|
30
|
+
+ Various bug fixes
|
31
|
+
|
32
|
+
* 4 new mappings:
|
33
|
+
+ bonjour_service => NSNetService
|
34
|
+
+ bonjour_browser => NSNetServiceBrowser
|
35
|
+
+ line => NSBezierPath
|
36
|
+
+ tracking_area => NSTrackingArea
|
37
|
+
|
38
|
+
* 2 graphics improvements:
|
39
|
+
+ Image class works with more image types
|
40
|
+
+ Image class can save images
|
41
|
+
|
42
|
+
## 0.0.1 2009-11-07
|
43
|
+
|
44
|
+
* 1 major enhancement:
|
45
|
+
+ Initial release
|
data/README.markdown
CHANGED
@@ -1,63 +1,63 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
* [http://github.com/ferrous26/hotcocoa](http://github.com/ferrous26/hotcocoa)
|
4
|
-
* [Documentation](http://rdoc.info/github/ferrous26/hotcocoa/master/frames)
|
5
|
-
|
6
|
-
## Description
|
1
|
+
# HotCocoa
|
7
2
|
|
8
3
|
HotCocoa is a thin, idiomatic Ruby layer that sits above Cocoa and
|
9
4
|
other frameworks. The goal of the project is to simplify the process of creating
|
10
|
-
and configuring Cocoa objects used when building native Mac apps.
|
11
|
-
information on HotCocoa (including tutorials) see
|
12
|
-
[http://macruby.org](http://macruby.org).
|
13
|
-
|
14
|
-
## Note
|
15
|
-
|
16
|
-
HotCocoa has ambitious goals that are difficult to accomplish with the input of
|
17
|
-
only a few people. Feedback is the easiest way to contribute and goes a long way
|
18
|
-
to making sure HotCocoa is on the right path to accomplishing those goals.
|
19
|
-
|
20
|
-
There are still some APIs that need documentation, regression tests that need to
|
21
|
-
be written, and tutorials to be updated; but new features and improved performance
|
22
|
-
will also be coming in the not too distant future. If you find issues with
|
23
|
-
HotCocoa, don't hesitate to open tickets on Github (or try to fix it yourself and
|
24
|
-
send in the patch :)).
|
5
|
+
and configuring Cocoa objects used when building native Mac apps.
|
25
6
|
|
26
|
-
|
27
|
-
[gotchas](https://github.com/ferrous26/hotcocoa/wiki/Gotchas) in the
|
28
|
-
wiki.
|
7
|
+
## Using
|
29
8
|
|
30
|
-
|
9
|
+
### Installation
|
31
10
|
|
32
11
|
From rubygems:
|
33
12
|
|
34
|
-
sudo macgem install hotcocoa
|
13
|
+
$ sudo macgem install hotcocoa
|
14
|
+
|
15
|
+
Or to get the bleeding edge, you can clone the repository on Github and install from there:
|
35
16
|
|
36
|
-
|
37
|
-
|
17
|
+
$ git clone git://github.com/ferrous26/hotcocoa
|
18
|
+
$ cd hotcocoa
|
19
|
+
$ sudo macrake install
|
38
20
|
|
39
|
-
|
40
|
-
|
41
|
-
|
21
|
+
__Note__: You will need the Mac OS X developer tools in order
|
22
|
+
to build apps. Xcode is not required, but the compiler toolchain is
|
23
|
+
needed.
|
42
24
|
|
43
|
-
|
25
|
+
__Note 2__: If you are on Snow Leopard, you will also need the
|
44
26
|
[Bridge Support Preview](http://www.macruby.org/files/BridgeSupport%20Preview%203.zip)
|
45
27
|
in order to run HotCocoa. Read about it on the
|
46
28
|
[MacRuby Blog](http://www.macruby.org/blog/2010/10/08/bridgesupport-preview.html).
|
47
29
|
|
48
|
-
|
49
|
-
|
50
|
-
|
30
|
+
### Documentation
|
31
|
+
|
32
|
+
The documentation can be found on [rdoc.info](http://rdoc.info/github/ferrous26/hotcocoa/master/frames).
|
33
|
+
|
34
|
+
The most important pages are:
|
35
|
+
|
36
|
+
* [the overview](http://rubydoc.info/github/ferrous26/hotcocoa/master/file/docs/Overview.markdown)
|
37
|
+
* [a guide to the mappings](http://rubydoc.info/github/ferrous26/hotcocoa/master/file/docs/Mappings.markdown)
|
38
|
+
* [troubleshooting](http://rubydoc.info/github/ferrous26/hotcocoa/master/file/docs/Troubleshooting.markdown)
|
39
|
+
|
40
|
+
The documentation currently does not cover the shipped mappings right now due to the
|
41
|
+
way that mappings are implemented; a YARD plug-in or new YARD features
|
42
|
+
will be needed (stay tuned).
|
43
|
+
|
44
|
+
### Examples
|
45
|
+
|
46
|
+
Have a look in the [examples folder](https://github.com/ferrous26/hotcocoa/tree/master/examples) to see some sample apps which use HotCocoa.
|
51
47
|
|
52
|
-
##
|
48
|
+
## Contributing
|
53
49
|
|
54
|
-
|
55
|
-
|
50
|
+
HotCocoa has ambitious goals that are difficult to accomplish with the input of
|
51
|
+
only a few people. Feedback is the easiest way to contribute and goes a long way
|
52
|
+
to making sure HotCocoa is on the right path to accomplishing those goals.
|
56
53
|
|
57
|
-
|
58
|
-
|
54
|
+
There are still some APIs that need documentation, regression tests that need to
|
55
|
+
be written, and tutorials to be updated; but new features and improved performance
|
56
|
+
will also be coming in the not too distant future. If you find issues with
|
57
|
+
HotCocoa, don't hesitate to open tickets on Github (or try to fix it yourself and
|
58
|
+
send in the patch :)).
|
59
59
|
|
60
|
-
|
60
|
+
### Submitting patches
|
61
61
|
|
62
62
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
63
63
|
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
|
@@ -0,0 +1,189 @@
|
|
1
|
+
Originally written by Dan Sinclair, this tutorial has been updated for
|
2
|
+
newer HotCocoa features.
|
3
|
+
|
4
|
+
I've had my eye on giving HotCocoa a test run for a while now. Other
|
5
|
+
things have conspired to come up over the last few months so I haven't
|
6
|
+
had a chance to give it a spin. That is, until now. I started poking
|
7
|
+
at it the other day, a few things still confuse me, but I'm getting
|
8
|
+
there.
|
9
|
+
|
10
|
+
I figured I'd write stuff down as I plow my way through the code and
|
11
|
+
create a simple little application. The application is nothing fancy,
|
12
|
+
I'm going to query [PostRank](http://www.postrank.com) and pull back
|
13
|
+
engagement information on a feed entered into a text box. This will be
|
14
|
+
a multi-part tutorial.
|
15
|
+
|
16
|
+
In the usual fashion, let's start at the start. What is HotCocoa?
|
17
|
+
Well, HotCocoa is a layer of Ruby code that sits on top of the Mac OS
|
18
|
+
X frameworks including
|
19
|
+
[Cocoa](http://developer.apple.com/cocoa/). HotCocoa is part of the
|
20
|
+
[MacRuby](http://www.macruby.org) distribution which will ship with
|
21
|
+
figure versions of OS X. MacRuby is a port of Ruby 1.9 to run on top
|
22
|
+
of Objective-C.
|
23
|
+
|
24
|
+
I'm going to assume you have MacRuby installed for this tutorial.
|
25
|
+
|
26
|
+
The HotCocoa developers make life easy to get started developing your
|
27
|
+
application. There is a `hotcocoa` command that is installed when you
|
28
|
+
install MacRuby. This will create the basic application structure and
|
29
|
+
Rakefile to get you up and running.
|
30
|
+
|
31
|
+
titania:Development dj2$ hotcocoa Postie
|
32
|
+
|
33
|
+
We can then execute our application by changing into the `Postie`
|
34
|
+
directory and executing `macrake`. *Note*, this uses `mac`rake and not
|
35
|
+
regular rake. MacRuby installs alongside the normal Ruby runtime on OS
|
36
|
+
X. You'll need to make sure you use `macrake`, `macirb`, `macgem` and
|
37
|
+
`macruby` to work with the MacRuby versions. You should see a `Hello
|
38
|
+
from HotCooca` window if everything worked correctly.
|
39
|
+
|
40
|
+
![Hello from HotCocoa](images/hello_from_hotcocoa.png)
|
41
|
+
|
42
|
+
You'll notice that you now have a Postie.app in your root
|
43
|
+
directory. This application can be executed by double clicking like
|
44
|
+
any other Mac application, although, you'll need MacRuby installed for
|
45
|
+
it to execute. You can also execute `macruby lib/application.rb` to
|
46
|
+
execute the application. This allows passing flags to `macruby` for
|
47
|
+
things like enabling debug mode.
|
48
|
+
|
49
|
+
Let's take a quick look at the files generated by the `hotcocoa`
|
50
|
+
command.
|
51
|
+
|
52
|
+
```sh
|
53
|
+
./Rakefile
|
54
|
+
./config/build.yml
|
55
|
+
./resources/HotCocoa.icns
|
56
|
+
./lib/application.rb
|
57
|
+
./lib/menu.rb
|
58
|
+
```
|
59
|
+
|
60
|
+
The `build.yml` file contains information used by `hotcocoa` to build
|
61
|
+
your application. This includes things like the name, version, icon
|
62
|
+
and source files. The icon, by default, is `HotCocoa.icns`. The main
|
63
|
+
files we're interested in are `application.rb` and `menu.rb`.
|
64
|
+
|
65
|
+
```ruby
|
66
|
+
module HotCocoa
|
67
|
+
def application_menu
|
68
|
+
menu do |main|
|
69
|
+
main.submenu :apple do |apple|
|
70
|
+
apple.item :about, :title => "About #{NSApp.name}"
|
71
|
+
apple.separator
|
72
|
+
apple.item :preferences, :key => ","
|
73
|
+
apple.separator
|
74
|
+
apple.submenu :services
|
75
|
+
apple.separator
|
76
|
+
apple.item :hide, :title => "Hide #{NSApp.name}", :key => "h"
|
77
|
+
apple.item :hide_others, :title => "Hide Others", :key => "h", :modifiers => [:command, :alt]
|
78
|
+
apple.item :show_all, :title => "Show All"
|
79
|
+
apple.separator
|
80
|
+
apple.item :quit, :title => "Quit #{NSApp.name}", :key => "q"
|
81
|
+
end
|
82
|
+
main.submenu :file do |file|
|
83
|
+
file.item :new, :key => "n"
|
84
|
+
file.item :open, :key => "o"
|
85
|
+
end
|
86
|
+
main.submenu :window do |win|
|
87
|
+
win.item :minimize, :key => "m"
|
88
|
+
win.item :zoom
|
89
|
+
win.separator
|
90
|
+
win.item :bring_all_to_front, :title => "Bring All to Front", :key => "o"
|
91
|
+
end
|
92
|
+
main.submenu :help do |help|
|
93
|
+
help.item :help, :title => "#{NSApp.name} Help"
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
```
|
99
|
+
|
100
|
+
The `menu.rb` file contains information about the menu for our
|
101
|
+
applcation. This includes the menu names, hot keys, modifiers and
|
102
|
+
general layout.
|
103
|
+
|
104
|
+
The `:apple` submenu is special and will appear with a menu title
|
105
|
+
based on your application name, as is typical for OS X
|
106
|
+
applications. For the other submenus, by default, the menu title will
|
107
|
+
be the capitalized version of the symbol name converted to a
|
108
|
+
string. You can also provide a `:title => 'foo'` option to specify a
|
109
|
+
different name. `menu.submenu :postrank, :title => 'PostRank'`.
|
110
|
+
|
111
|
+
The symbol provided to each submenu `item`, e.g. `file.item :new` will
|
112
|
+
be used to form the name of the method invoked in your application
|
113
|
+
delegate. The methods are named `on_<key>`. For our `:new` item the
|
114
|
+
`on_new` menu item will be invoked. If there is no `on_<key>` method
|
115
|
+
the menu item will be disabled. As you can see above you can also
|
116
|
+
specify `:modifiers` and `:key` equivalents for your items.
|
117
|
+
|
118
|
+
As with the menu titles, the items names will be formed from
|
119
|
+
capitalizing the symbol provided unless a `:title` is provided.
|
120
|
+
|
121
|
+
In the case of `Postie` I've erased everything but the `:apple`
|
122
|
+
submenu for now. I don't need any extra menu items at the moment. This
|
123
|
+
also means all of the `on_*` methods can be removed from
|
124
|
+
`application.rb`.
|
125
|
+
|
126
|
+
The default `application.rb` provided by the `hotcocoa` command is
|
127
|
+
pretty short.
|
128
|
+
|
129
|
+
```ruby
|
130
|
+
require 'hotcocoa'
|
131
|
+
|
132
|
+
class Application
|
133
|
+
include HotCocoa
|
134
|
+
|
135
|
+
def start
|
136
|
+
application(:name => "Postie") do |app|
|
137
|
+
app.delegate = self
|
138
|
+
window(:frame => [100, 100, 500, 500], :title => "Postie") do |win|
|
139
|
+
win << label(:text => "Hello from HotCocoa", :layout => {:start => false})
|
140
|
+
win.will_close { exit }
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
Application.new.start
|
147
|
+
```
|
148
|
+
|
149
|
+
Let's take a quick look and see if we can figure out what's going
|
150
|
+
on. We need to `require hotcocoa'` to get access to the needed
|
151
|
+
HotCocoa classes. We then `include HotCocoa` into our `Application`
|
152
|
+
class to make everything shorter. Feel free to rename `Application`
|
153
|
+
just do it in the class definition and at the bottom of the file.
|
154
|
+
|
155
|
+
Jumping to the bottom, you can see we're calling
|
156
|
+
`Application.new.start` so the `Application#start` method will be
|
157
|
+
invoked. It's worth noting, the application will not return from
|
158
|
+
`Application#start`.
|
159
|
+
|
160
|
+
Going back to `Application#start` we call `application` to create our
|
161
|
+
application, setting the title as desired. We then set ourselves as
|
162
|
+
the application delegate. This means that our class will receive all
|
163
|
+
of the callbacks that are called on the Cocoa application. This
|
164
|
+
includes the menu `on_*`callbacks we talked about earlier.
|
165
|
+
|
166
|
+
We then proceed to create a `window`. We're setting a `:frame` on the
|
167
|
+
window to position it at X 100, Y 100 (from the bottom left) with a
|
168
|
+
width of 500 and height of 500. We `:title` the window as `Postie`.
|
169
|
+
If you don't want to specify the entire frame of the window you can
|
170
|
+
specify just the `:size => [500, 500]` of the window. You can also
|
171
|
+
specify `:center => true` to center the window on the desktop. If you
|
172
|
+
look at the Objective-C documentation for NSWindow the options
|
173
|
+
available in Obj-C are available in the HotCocoa layer.
|
174
|
+
|
175
|
+
Once the window is created we add a `label` to the window and set the
|
176
|
+
`will_close` handler to `exit` when executed.
|
177
|
+
|
178
|
+
The `will_close` callback is the HotCocoa name for the Cocoa
|
179
|
+
`windowWillClose:`. Many of the Cocoa callbacks have been remapped to
|
180
|
+
make the names more Ruby like. You can view all the HotCocoa mappings
|
181
|
+
for windows at the bottom of the
|
182
|
+
[NSWindow mapping file](https://github.com/ferrous26/hotcocoa/blob/master/lib/hotcocoa/mappings/appkit/window.rb).
|
183
|
+
|
184
|
+
That's it for part I. We've now setup with our basic application
|
185
|
+
structure and have an idea of what we're working with. In the next
|
186
|
+
installment, we'll work on getting our application views setup as we
|
187
|
+
want.
|
188
|
+
|
189
|
+
[Read the next article: “Application Layout”](https://github.com/ferrous26/hotcocoa/wiki/Application-Layout)
|
data/docs/Mappings.markdown
CHANGED
data/docs/Resources.markdown
CHANGED
@@ -4,12 +4,18 @@ This page is an informal index to HotCocoa resources.
|
|
4
4
|
|
5
5
|
## Articles
|
6
6
|
|
7
|
-
*
|
7
|
+
* Gary Weaver (articles from Feb, Mar 2010)
|
8
|
+
+ [HotCocoa App to track Time on Tasks](http://stufftohelpyouout.blogspot.com/2010/02/hotcocoa-app-to-track-time-on-tasks.html)
|
9
|
+
+ [Create a Custom Icon for Your HotCocoa App](http://stufftohelpyouout.blogspot.com/2010/02/create-custom-icon-of-your-hotcocoa-app.html)
|
10
|
+
+ [Create a MacRuby HotCocoa App](http://stufftohelpyouout.blogspot.com/2010/02/create-macruby-hotcocoa-app.html)
|
11
|
+
+ [HotCocoa/MacRuby Links](http://stufftohelpyouout.blogspot.com/2010/03/hotcocoamacruby-links.html)
|
12
|
+
|
13
|
+
* [Isaac Kearse](https://github.com/isaac) (articles from Jan, Feb 2010)
|
8
14
|
+ [Stopwatch - A HotCocoa Status Bar Timer](http://isaac.kearse.co.nz/2010/01/31/stopwatch/)
|
9
15
|
+ [Packaging A HotCocoa Application](http://isaac.kearse.co.nz/2010/02/01/packaging-hotcocoa/)
|
10
16
|
+ [SafariRSS - HotCocoa Safari RSS Handler](http://isaac.kearse.co.nz/2010/02/07/safarirss/)
|
11
17
|
|
12
|
-
* Dan Sinclair
|
18
|
+
* [Dan Sinclair](https://github.com/dj2) (articles from May, June 2009)
|
13
19
|
+ [Heating up with HotCocoa Part I](http://everburning.com/news/heating-up-with-hotcocoa-part-i/)
|
14
20
|
+ [Heating up with HotCocoa Part II](http://everburning.com/news/heating-up-with-hotcocoa-part-ii/)
|
15
21
|
+ [Heating up with HotCocoa Part III](http://everburning.com/news/heating-up-with-hotcocoa-part-iii/)
|
@@ -17,9 +23,3 @@ This page is an informal index to HotCocoa resources.
|
|
17
23
|
+ [Download and XML parsing with HotCocoa](http://everburning.com/news/download-and-xml-parsing-with-hotcocoa/)
|
18
24
|
+ [Toolbars with HotCocoa](http://everburning.com/news/toolbars-with-hotcocoa/)
|
19
25
|
+ [HotCocoa and Core Data](http://everburning.com/news/hotcocoa-and-core-data/)
|
20
|
-
|
21
|
-
* Gary Weaver
|
22
|
-
+ [HotCocoa App to track Time on Tasks](http://stufftohelpyouout.blogspot.com/2010/02/hotcocoa-app-to-track-time-on-tasks.html)
|
23
|
-
+ [Create a Custom Icon for Your HotCocoa App](http://stufftohelpyouout.blogspot.com/2010/02/create-custom-icon-of-your-hotcocoa-app.html)
|
24
|
-
+ [Create a MacRuby HotCocoa App](http://stufftohelpyouout.blogspot.com/2010/02/create-macruby-hotcocoa-app.html)
|
25
|
-
+ [HotCocoa/MacRuby Links](http://stufftohelpyouout.blogspot.com/2010/03/hotcocoamacruby-links.html)
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#Troubleshooting
|
2
|
+
|
3
|
+
## App crashes upon start up
|
4
|
+
|
5
|
+
If the app crashes with the following error:
|
6
|
+
|
7
|
+
LSOpenURLsWithRole() failed with error -10810 for the file ...
|
8
|
+
|
9
|
+
This is a very general error and can be caused by a number of things. Known root causes are:
|
10
|
+
|
11
|
+
1. Missing [bridge support](http://macruby.org/blog/2010/10/08/bridgesupport-preview.html) files (for Snow Leopard users)
|
12
|
+
2. Bug in the app you are launching
|
13
|
+
3. Bug in HotCocoa
|
14
|
+
|
15
|
+
Sometimes debug information will be available in the Console (/Applications/Utilities/Console.app), so you should check in there first. Failing that, you will need to rely on your general debugging skills to find the reason.
|
data/docs/Tutorial.markdown
CHANGED
@@ -83,7 +83,7 @@ module Application
|
|
83
83
|
def deploy_options
|
84
84
|
options = []
|
85
85
|
spec.gems.each { |g| options << "--gem #{g}" }
|
86
|
-
options << '--bs' if spec.
|
86
|
+
options << '--bs' if spec.embed_bridgesupport?
|
87
87
|
options << '--compile' if spec.compile?
|
88
88
|
options << '--no-stdlib' unless spec.stdlib
|
89
89
|
if spec.stdlib.respond_to? :each
|
@@ -187,6 +187,8 @@ module Application
|
|
187
187
|
}
|
188
188
|
info[:CFBundleIconFile] = File.basename(spec.icon) if spec.icon_exists?
|
189
189
|
info[:CFBundleDocumentTypes] = spec.doc_types.map(&:info_plist_representation) unless spec.doc_types.empty?
|
190
|
+
info[:CFBundleShortVersionString] = spec.short_version unless spec.short_version.nil?
|
191
|
+
info[:NSHumanReadableCopyright] = spec.copyright unless spec.copyright.nil?
|
190
192
|
info.merge! spec.plist # should always be done last
|
191
193
|
info.to_plist
|
192
194
|
end
|
@@ -260,8 +260,9 @@ module Application
|
|
260
260
|
# OS X 10.6.
|
261
261
|
#
|
262
262
|
# @return [Boolean]
|
263
|
-
attr_accessor :
|
264
|
-
alias_method :
|
263
|
+
attr_accessor :embed_bridgesupport
|
264
|
+
alias_method :embed_bridgesupport?, :embed_bridgesupport
|
265
|
+
alias_method :embed_bs=, :embed_bridgesupport=
|
265
266
|
|
266
267
|
##
|
267
268
|
# Whether or not to always make a clean build of the app.
|
@@ -324,7 +325,7 @@ module Application
|
|
324
325
|
agent: false,
|
325
326
|
compile: true,
|
326
327
|
overwrite: false,
|
327
|
-
|
328
|
+
embed_bridgesupport: true
|
328
329
|
}
|
329
330
|
end
|
330
331
|
|