Re: [Pyobjc-dev] py2app not recognizing Info.plist
Brought to you by:
ronaldoussoren
From: Wilson G. <gm...@ps...> - 2005-05-14 09:39:34
|
I've updated my applications to work, but the two sample apps (CocoaBindings/TableModel*) are missing some of these keys. The important one seems to be CFBundleName for creating the bundle name properly. Previously, the samples worked just fine with CFBundleExecutable. Thanks, Geoff On 14/05/2005, at 6:05 PM, Bob Ippolito wrote: > On May 13, 2005, at 11:01 PM, Wilson Geoff wrote: > > >> I've noticed that py2app no longer consults the Info.plist file in >> Tiger when naming the application bundle. To see this, try >> building the TableModel or TableModelWithSearch apps. On 10.3, the >> app bundle was called TableModel as a result of the settings in >> Info.plist and: >> >> setup( >> app=["__main__.py"], >> data_files=["English.lproj"], >> options=dict(py2app=dict(plist='Info.plist')), >> ) >> >> On Tiger, the bundle ends up being called "__main__". Is this to >> do with changes Apple made to the .plist libraries? Or is this >> just no longer supported? >> >> I upgraded to the latest in svn, and am running on a clean install >> of 10.4. >> > > It does still consult the Info.plist, but it names the application > after CFBundleName or the name of the main script. If CFBundleName > was defined, then it would use that as the name of the > application. A previous version may have also cared about > CFBundleExecutable, but are you sure that Panther had this behavior > *when using py2app*? > > In other words, it has nothing to do with 10.4.. it's py2app > (possibly due to it being a newer version of py2app, but I'm not > sure any version of py2app had that behavior.. though my memory for > such details isn't the greatest). > > As per the current Mac OS X "Runtime Configuration: Guidelines For > Configuring Applications" guide <http://developer.apple.com/ > documentation/MacOSX/Conceptual/BPRuntimeConfig/Tasks/ > ConfigApplications.html>, it is required to define the following keys: > > - CFBundleDisplayName > - CFBundleIdentifier > - CFBundleName > - CFBundlePackageType > - CFBundleShortVersionString > - CFBundleSignature > - LSHasLocalizedDisplayName > - NSHumanReadableCopyright > - NSAppleScriptEnabled > > So, effectively, the Info.plist is broken. If it were correct, > then py2app would do the right thing with it and create an > application named after the CFBundleName. > > -bob > > |