amirrajan / rubymotion-applied

RubyMotion documentation provided by the community. Submit a pull request to the docs for a free one year indie subscription.
Apache License 2.0
49 stars 9 forks source link

Interface Builder + XCode 8.3.3+ #3

Closed amirrajan closed 6 years ago

amirrajan commented 7 years ago

http://community.rubymotion.com/t/interface-builder-outlets-and-actions-not-getting-connected-macos/2137

amirrajan commented 7 years ago

I finally had some time to look at this a bit further, and finally got it to work. My app templates start with the default RM project, and use Interface Builder projects for the main (and any preferences) window if there is a lot of stuff in them. Setting any of those nibs as the NSMainNibFile fails, possibly because of what Xcode considers "main", since the app menu is still built programmatically.

What little information I found about that key mentions that Xcode will fill it in if not set, so I added the plist key but left it blank, and sure enough, app.info_plist['NSMainNibFile'] = '' works. That sure is one goofy fix - fails if it is left out, fails if any nib is put in, fails if a wrong nib is put in, but let it guess what I mean and all is OK. Apple's push for storyboards might fit in there somewhere.

There are still a few oddities left, such as where these NSColorPickerGridView warnings are coming from, but for now I'm back to normal (or as close to it as I can get these days) - thanks all!

EDIT: looks like an old pull request with a similar solution deals with the compiler warnings, the distributed OS X project template doesn't seem to have been updated n a while.

amirrajan commented 7 years ago

(OSX project template still needs an update).

amirrajan commented 6 years ago

Closed/deferred because of this: https://github.com/amirrajan/rubymotion-applied/issues/70