hotcocoa 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+

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