discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnustep make on MacOSX


From: Andreas Höschler
Subject: Re: gnustep make on MacOSX
Date: Tue, 27 Jul 2010 18:54:38 +0200

Hi all,

I am preparing migration from MacOSX 10.2.8 (Power PC) to MacOSX 10.5.2 (Intel) and have problems building apps with gnustep make on this new platform. I have an app that is supposed to edit *.sproject files. I have Info-gnustep.plist and CustomInfo.plist with

...
NSTypes = (
   {
      NSName = "sproject";
      NSHumanReadableName = "sproject File";
      NSUnixExtensions = ("sproject");
      NSDOSExtensions = ("sproject");
      NSRole = Editor;
      NSIcon = "projfile.tiff";
    },
...

I have also tried to copy and adopt /Applications/TextEdit.app/ Contents/Info.plist to my /Applications/InterfaceBuilder/Contents/ Info.plist with no success. How can I make gnustep make to generate MacOSX apps that are recognized by Finder.app as editors for given document types (*.smib in my case)?

Replace
NSTypes          -> CFBundleDocumentTypes
NSName           -> CFBundleTypeName
NSUnixExtensions -> CFBundleTypeExtensions
NSRole           -> CFBundleTypeRole
NSIcon           -> CFBundleTypeIconFile
There is no direct equivalent for NSHumanReadableName. Instead use InfoPlist.strings to provide an appropriate localization for CFBundleTypeName, e.g.,
"sproject" = "sproject File";
in English.lproj/InfoPlist.strings,
"sproject" = "sproject Datei";
in German.lproj/InfoPlist.strings. Also forget about NSDOSExtensions; there is no equivalent in OS X. The NSTypes keys were never officially supported by OS X and Apple apparently has dropped support for these legacy keys.

Also keep in mind that gnustep-make merges the contents of file XXXInfo.plist into the final Info.plist file, where XXX is the name of the application. So unless your application is called Custom, the contents of file CustomInfo.plist is just ignored.

Thanks so much for your help. This works like a charm!! :-)


Too much joy too early. It doe snot work yet. IMy InterfaceBuilderInfo.plist seems to be ignored. But GNUstep make is honoring Info-apple.plist and copies its contents to /Applications/ InterfaceBuilder.app/Contents/Info.plist:

CFBundleIconFile = "InterfaceBuilder.icns";
CFBundleDocumentTypes = (
     {
        CFBundleTypeName = "smib";
        NSHumanReadableName = "Smart Interface Builder";
        CFBundleTypeExtensions = ("smib");
        CFBundleTypeRole = Editor;
        CFBundleTypeIconFile = "nibfile.tiff";
      }
    );

However, this doe snot make MacOSX aware of smib files. A doubleclick on such a file opens the usual "don't know which application panel"! :-(

Any hints? Should GNUstep make convert this plist to some XML?

Thanks a lot,

 Andreas









reply via email to

[Prev in Thread] Current Thread [Next in Thread]