Post

Replies

Boosts

Views

Activity

Reply to Associating file extension with my application
Hmmm here's what lsregister says about my application and the filetype it has registered (now set to com.github.deepskystacker.filelist): --------------------------------------------------------------------------- bundle id: DeepSkyStacker (0x3cc) class: kLSBundleClassApplication (0x2) container: / (0x4) mount state: mounted Mach-O UUIDs: 14010933-1443-3ABE-8993-EFF084AD3949 sequenceNum: 972 path: /Applications/DeepSkyStacker.app (0xa48) directory: /Applications name: DeepSkyStacker localizedShortNames: "ca" = ?, "cs" = ?, "de" = ?, "English" = ?, "es" = ?, "fr" = ?, "it" = ?, "ja_JP" = ?, "LSDefaultLocalizedValue" = "DeepSkyStacker", "nl" = ?, "pt_BR" = ?, "ro" = ?, "ru" = ?, "tr" = ?, "zh_CN" = ?, "zh_TW" = ? teamID: VH8AYT3C7Y identifier: com.github.deepskystacker version: 6.1 ({length = 32, bytes = 0x06000000 00000000 01000000 00000000 ... 00000000 00000000 }) versionString: 6.1.0 displayVersion: 6.1 mod date: 2025-05-11 09:37 (POSIX 1746952679, 𝛥 7hrs 26min 20secs) exec mod date: 2025-05-11 09:37 (POSIX 1746952679, 𝛥 7hrs 26min 20secs) reg date: 2025-05-11 16:52 (POSIX 1746978754, 𝛥 11min 45secs) rec mod date: 2025-05-11 16:52 (POSIX 1746978754, 𝛥 11min 45secs) type code: 'APPL' (4150504c) creator code: '????' (3f3f3f3f) plist flags: has-custom-bindings (0000000000010000) icon flags: relative-icon-path (0000000000000001) slices: arm64 (0000000000000080) item flags: package application container native-app extension-hidden (000000000010008e) App Nap: capable (0000000000000001) eGPU: capable can-change (0000000000000005) safeAperture system fullscreen: capable can-change (0000000000000005) safeAperture app fullscreen: capable can-change (0000000000000005) safeAperture windowed: capable can-change (0000000000000005) Game Mode: capable can-change (0000000000000005) Identified Game: capable can-change (0000000000000005) platform: native iconDict: 1 values (9156 (0x23c4)) { CFBundlePrimaryIcon = { CFBundleIconFile = "DeepSkyStacker.icns"; }; } icons: Contents/Resources/DeepSkyStacker.icns executable: Contents/MacOS/DeepSkyStacker inode: 9686765 exec inode: 9686771 execSDK ver: 15.4 ({length = 32, bytes = 0x0f000000 00000000 04000000 00000000 ... 00000000 00000000 }) mach min ver: 13.4 ({length = 32, bytes = 0x0d000000 00000000 04000000 00000000 ... 00000000 00000000 }) infoDictionary: 15 values (9160 (0x23c8)) { CFBundleDevelopmentRegion = English; CFBundleExecutable = DeepSkyStacker; CFBundleGetInfoString = ""; CFBundleIconFile = "DeepSkyStacker.icns"; CFBundleIdentifier = "com.github.deepskystacker"; CFBundleInfoDictionaryVersion = "6.0"; CFBundleLocalizations = ( ca, cs, de, es, fr, it, "ja_JP", nl, "pt_BR", ro, ru, tr, "zh_CN", "zh_TW" ); CFBundleLongVersionString = ""; CFBundleName = DeepSkyStacker; CFBundleNumericVersion = 101744640; CFBundlePackageType = APPL; CFBundleShortVersionString = "6.1"; CFBundleSignature = "????"; CFBundleVersion = "6.1.0"; NSHumanReadableCopyright = "Copyright \U00a9 2018-2025, David C. Partridge; Copyright \U00a9 2006-2019, Luc Coiffier"; } activityTypes: NOTIFICATION#VH8AYT3C7Y:com.github.deepskystacker, pv-eb6d5fe6c3ff51 trustedCodeSignatures: 3b627d5ab5825da80f3291707f69c8257dce381c claimed UTIs: com.github.deepskystacker.dssfilelist Intents: 0 values (9164 (0x23cc)) { } -------------------------------------------------------------------------------- type id: com.github.deepskystacker.dssfilelist (0x26c8) bundle: DeepSkyStacker (0x3cc) uti: com.github.deepskystacker.dssfilelist localizedDescription: "ca" = ?, "cs" = ?, "de" = ?, "English" = ?, "es" = ?, "fr" = ?, "it" = ?, "ja_JP" = ?, "LSDefaultLocalizedValue" = "DeepSkyStacker file-list file", "nl" = ?, "pt_BR" = ?, "ro" = ?, "ru" = ?, "tr" = ?, "zh_CN" = ?, "zh_TW" = ? flags: active exported trusted (0000000000000051) icons: 1 values (9168 (0x23d0)) { UTTypeIconFile = "DSS_filelist.icns"; } conforms to: public.plaintext tags: .dssfilelist, text/dssfilelist -------------------------------------------------------------------------------- claim id: 3396 (0xd44) rank: Owner bundle: DeepSkyStacker (0x3cc) flags: doc-type (0000000000000020) roles: Editor (0000000000000004) bindings: com.github.deepskystacker.dssfilelist
May ’25
Reply to Associating file extension with my application
My Info.plist as shown by XCode looks like this: but my application still isn't associated to the type I registered, and .dssfilelist files don't display the Icon I supplied. Also lsregister -dump | grep dssfilelist shows multiple entries which doesn't seem correct: amonra@Saturn ~ % lsregister -dump |grep dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb384) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb390) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist claimed UTIs: com.github.deepskystacker-dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb39c) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist bindings: com.github.deepskystacker-dssfilelist bindings: com.github.deepskystacker-dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb384) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb390) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb39c) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist do I need to add something to my Info.plist to stop that?
May ’25
Reply to Associating file extension with my application
That is in the archive, so isn't current ... I think that having something like this in the Info.plist file is part of the story <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeIdentifier</key> <string>com.github.deepskystacker-dssfilelist</string> <key>UTTypeConformsTo</key> <array> <string>public.plaintext</string> </array> <key>UTTypeDescription</key> <string>DeepSkyStacker file-list file</string> <key>UTTypeIconFile</key> <string>DSS_filelist.icns</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> <array> <string>dssfilelist</string> </array> </dict> <key>public.mime-type</key> <string>text/dssfilelist</string> </dict> </array> Is that correct? If there are errors please tell me. Will that also cause d'clicking on a .dssfilelist file cause my application com.github.deepskystackerto open it?
May ’25
Reply to Building an app with both GUI and Command Line versions
I've placed the CL executable in the MacOS directory I expect that users will place a symlink to it in /usr/local/bin/ The CL program doesn't have any GUI stuff... I hope/expect users will be able to run from either Terminal or an SSH session. I realise they'll need to create an .zshenv looking a bit like this: # remove duplicate entries from $PATH # zsh uses $path array along with $PATH typeset -U PATH path pathadd () { if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi } pathadd /usr/local/bin pathadd /home/amonra/bin Cheers, David
Apr ’25
Reply to Building an app with both GUI and Command Line versions
The command line version of the app is structured quite differently from the GUI and is already written and working. I've just spent weeks porting from Visual Studio/msbuild to CMake so we can build for Win/Linux/Mac using ONE tool. So I really don't wish to convert the build to XCode. Should I put the command line version into the SharedSupport directory of the app rather than the MacOS one?
Apr ’25
Reply to Notarising two builds of the same app
I accept the point about the Universal Binary but unfortunately vcpgk doesn't support universal binaries. I also I can't compile my code x64 and arm64 with same compiler options, because since the latest update XCode rejects arm64 compilations with AVX related options specified. So separate builds it is. For clarification are you saying I should zip up a directory containing DeepSkyStacker.app, DeepSkyStackerCL.app and DeepSkyStackerLive.app and submit that for notarising? Thanks David
Apr ’25
Reply to Errors compiling C++ code for x86_64
This question isn't about CMake it's about the compiler. However I worked around the problem by building the files that needed the special compilation options for AVX into a different static library. I think the issue is that the files in question don't use PCH, but the rest of the files do so. I think the parse tree for AST was built from the precompiled headers.
Apr ’25