Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where do resource files go when developing Mac apps?

I'm new to developing Mac OSX apps via Delphi (Berlin) and don't know where to put resource files. In Windows I can write ImageControl1.LoadFromFile('aFile.png'); and know that's referencing the directory where my executable is located. Or I can do something like make and reference the path to a separate directory where I'm putting resources.

But I don't know where to put resources or how their paths work when developing on a Windows machine for an app that'll be compiled and run on a Mac. I tried putting an image file in the Delphi project's OSX subdirectory as well as entering a complete path, i.e., LoadFromFile('path/goes/here'). I also tried using forward and backward slashes in the path name expression. In each case I got an error (when compiling for Mac, not Windows). I'm sort of thinking the files should live on the Mac somewhere...but I'm lost.

I'm hoping someone could tell me where to put these kinds of resource files, or how to properly reference them, when developing Mac apps on a Windows machine (or, alternatively, a good reference or two that'll explain it to me ... I looked online but couldn't find an answer).

like image 329
Al C Avatar asked Jun 22 '26 19:06

Al C


1 Answers

There's some info about the structure of macOS app bundles, here:

https://developer.apple.com/library/content/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW19

In the Delphi Deployment Manager, resources can be deployed to a remote path of:

Contents\Resources\

And subfolders thereof. The following code should return the root of the .app package:

NSStrToStr(TNSBundle.Wrap(TNSBundle.OCClass.mainBundle).bundlePath)

Add /Contents/Resources (and applicable subfolders) to that path, and you can load the deployed files from there

like image 127
Dave Nottage Avatar answered Jun 24 '26 16:06

Dave Nottage