Code Monkey home page Code Monkey logo

Comments (5)

timthedevguy avatar timthedevguy commented on August 16, 2024

The only advice so far from all the info I've gathered is: If you wish to keep using any plugins you will need to keep editing those nibs with IB3. XCode4 will compile the project fine BUT you will NOT be able to use the XCode4 editor for the nibs.

I've been doing class dumps of the private frameworks looking for anything that may be useful. It appears that the actual IB editor thats embedded in XCode4 is a plugin itself, so I am at a loss how to proceed now.

from bghudappkit.

timthedevguy avatar timthedevguy commented on August 16, 2024

If you have twitter please follow @binarymethod for updates as I go. I've gotten checkboxes to work with some tweaking....grrrr why did they have to screw things up.

from bghudappkit.

tomaz avatar tomaz commented on August 16, 2024

Plunged myself into upgrading all xib files to Xcode 4. Turns out latest build of Xcode 4.1 automatically offers to upgrade xibs when opening and it does pretty good job at it too (not sure for 4.0, haven't tried). Except for BGHUDTableView, where it complained: "An instance of BGHUDTableCornerView could not be decoded". To overcome this, I had to manually convert BGHUDTableView to NSTableView, upgrade to Xcode 4 and then change classes back. The whole procedure looked like this (in case someone will find it useful):

  • Start in IB3:
    • open xib (you might want to make a copy beforehand in case you break something)
    • drag standard NSTableView to view/window (leave old one for a moment)
    • setup new scroll view and table view as required, but leave all classes to default ones - NSScrollView, NSTableView and for the cells drag standard ones instead of BGHUDAppKit counterparts (this basically requires you to duplicate functionality from old one - this can be a bit tedious as you have to setup all bindings, IBOutlets, columns, cells etc.)
    • now you can delete old table view (including scroll view).
  • Continue in Xcode 4
    • open xib
    • Xcode will ask you for upgrading
    • change class of NSScrollView to BGHUDScrollView
    • change class of NSTableView to BGHUDTableView
    • add user defined runtime attribute themeKey of type string to value gradientTheme (to both, scroll view and table view)

That's it - it should work now. Make sure you test all UI to make sure you've not forgotten to setup something. Note that all controls in Xcode 4 will look like standard ones, but at runtime they will be ok (Xcode basically replaces custom controls with standard ones and then changes their cell classes).

In some cases (when using BGHUDButtonCell for example) I had to change corresponding cell to NSButtonCell in IB3 and then manually change it back in Xcode 4 after importing (also required adding runtime attribute themeKey!).

You might also need to change xib development versioning to Interface Builder 3.2 as attributes are not supported with previous versions - you'll get compiler warnings otherwise, but other than that it seems to work fine anyway.

Hope this will help someone until better solution arises. Looks like Apple doesn't intend to add IBPlugins to Xcode 4 (or auto-upgrade is here just as a temporary measure), so we might be forced to convert sooner or later. Anyway, I can finally delete Xcode 3 and claim back some space on my disk...

Tom

from bghudappkit.

apparentsoft avatar apparentsoft commented on August 16, 2024

Another solution that I found was to manually edit the Xibs in a text editor, before importing to Xcode 4.1.
There I replaced occurrences of BGHUDTableCornerView to NSView and occurrences of BGHUDTableHeaderCell to NSTableHeaderCell. After that the the XIBs loaded just fine.

from bghudappkit.

timthedevguy avatar timthedevguy commented on August 16, 2024

Nice, good tips. I'll be tackling a large project here shortly that will need it's Xibs upgraded to 4. Appreciate all the help.

from bghudappkit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.