|
|
On 5/2/21 1:59 PM Michael Sweet wrote:
Albrecht,
On May 2, 2021, at 7:36 AM, Albrecht Schlosser <...> wrote:
...
Here's a potential layout (work in progress):
fltk-1.3.6rc1/test$ tree resources/
resources/
├── blocks
│ ├── Info.plist
│ ├── PkgInfo
│ └── blocks.icns
├── checkers
│ ├── Info.plist
│ ├── PkgInfo
│ └── checkers.icns
└── sudoku
├── Info.plist
├── PkgInfo
└── sudoku.icns
I'd recommend against using the name "resources" since that has some unfortunate side-effects on macOS in Xcode and some of the Foundation framework features. Instead, use "resource" or "mac-resources" or something like that so that things don't get confused about a subdirectory named "Resources" (yay case-insensitive file systems... :/)
Yeah, thanks, Mike. That's another trap I'd like to avoid.
I think I'll rename it to 'mac-resources'.
Another question that arose: Do we really need the PkgInfo files? AFAICT
they are only used in the bundles we generate for these three games and
fluid and they seem to be
(a) optional
(b) inconsistent
according to this article:
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigApplications.html
"""
This file is not required, but can improve performance for code that
accesses this information. Regardless of whether you provide this file,
you should always include type and creator information in your
information property list file using the CFBundlePackageType and
CFBundleSignature keys, respectively.
The contents of the PkgInfo file are the 4-byte package type followed by
the 4-byte signature of your application. Thus, for the TextEdit
application, whose type is 'APPL' and whose signature is 'ttxt', the
file would contain the ASCII string “APPLttxt”.
"""
@a: None of the CMake-generated bundles has a PkgInfo file.
@b: For instance in fluid we have in Info.plist:
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>FLID</string>
and the PkgInfo file has:
FLIDFlid
It's only 8 chars + <lf>, but according to the docs and Info.plist this
should read:
APPLFLID
There are other PkgInfo files with similar inconsistencies.
I alwas saw the second four bytes Upper/Lowercased like 'Flid' (only
first letter uppercase) but that's another question which is moot if we
drop the PkgInfo files as I propose below.
None of the CMake-generated bundles has a PkgInfo file.
If we don't really need PkgInfo files and if there's no /significant/
performance boost if we have them, then I suggest to *drop all PkgInfo
files* for unification and simplification.
Given the structure above we'd only need Info.plist and the .icns file
(icon) per application (including fluid, of course).
Thoughts and insights? Manolo, Mike, anybody else?
--
You received this message because you are subscribed to the Google Groups "fltk.coredev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkcoredev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/27baf78d-3f99-f964-476f-8d3dee67ffaa%40online.de.
[ Direct Link to Message ] | |
|
| |