Hello,
I am working on a project using GNUStep that I'd eventually like to make fully
cross-compatible between Linux and OS X. I am developing it under Debian
squeeze amd64 (as well as x86-32) and occasionally testing it on a G5 Mac
running OS X 10.4.11.
The code itself compiles fine on both machines, but I'm having problems
transferring the interface files between them. So far I have been dealing with
this by keeping two copies of the interface; one that I use with Gorm in Linux
(a .gorm file), the other that I use with Interface Builder in OS X (a .nib
file). However, maintaining and updating two separate interface files is a lot
of work, so I've been looking into how well Gorm can deal with nib files.
Gorm seems to be able to load the nib file created by Interface Builder without
problem. When I then resave that nib file - without modification - to another
nib file using Gorm, and then send that to my OS X tester machine, Interface
Builder is unable to load that Gorm-created nib file (even though Gorm is able
to read that file just fine). Specifically, the error that Interface Builder
reports is
"-[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class
(GSMenuSeparator)"
I am using GNUStep make 2.6.2, base 1.24.0, gui 0.22.0, back 0.22.0, and gorm
1.2.16, all obtained from ftp.gnustep.org/pub/gnustep and compiled from source.
I did not report this as a bug because I figured that this is a known issue.
However, looking through the mailing list archives, I was unable to get a clear
sense of exactly what the current state of Gorm/Interface Builder compatibility
actually is. Can Gorm be expected to save nib files that are readable by
Interface Builder? If so, am I missing something here? If not, is this an issue
that is actively being worked on, that one could expect a fix for at some point
in the future? I'm OK dealing with two interface files for now, but right now
I'm wondering if there's anything I can do to improve compatibility, or if I
can hope for a fix in the somewhat near (or somewhat distant) future, or if I
should just accept that I cannot expect Gorm and Interface Builder to be able
to talk to each other at all.
Any help and/or input in regards to this problem is really appreciated, thank
you!