Using relative paths for image files in an iOS project

As I’m sure many of you do, we use the ‘Xojo Project’ format and Git to manage our projects.

For our desktop app, we have no problem with structuring our repository like so:

Git repository folder
- Folder containing the Xojo project files & folders
- Folder containing image files used by the project

Xojo uses relative paths for the image files that we drag into the desktop project, and so everything works well when we work with the project across different machines with different user folder names, locations for the git repository, etc.

However, we’re running into problems with this approach in iOS projects because Xojo appears to be storing both a relative path and an absolute path for image sets and launch images in the project file, but only using the absolute path when it opens the project. That means that the launch images and the contents of the image sets are missing when you try to work with the project on a machine that uses a different path to the repository. Xojo doesn’t warn us that the images are missing, they just silently fail to appear in the project.

For example, here are the file paths stored for the 1x image in one of my image sets:

FullPath = /Users/tom/git/My Project/External resources/section graphics/SectionsCalendarIcon.png PartialPath = ..\\External resources\\section graphics\\SectionsCalendarIcon.png

Am I missing an obvious setting or technique that I need to use to get Xojo to only use the relative path to load these images?

Tom, did you ever get an answer to this issue?
My problem is related in that I want to be able to move the location of my xojo file to different locations (for archiving etc) but this impacts the relative paths to all the images it uses. I thought I saw an update to Xojo stating that there was a solution to this, but I can’t see any preferences that relate to this.
Any ideas?

Have the same issue, xojo_project file stores absolute paths which is very annoying in git. Anyone knows a solution to this is most welcome.

The IDE saves full path, partial path and save info for each image
It tries the partial path first
If it fails to find the image at the location specified it uses the full path
If that fails to locate the image as well then the save info is used

  • On OS X SaveInfo contains an alias so this will often find the file even if the other forms failed
  • Windows & Linux have no such thing so if partial & full paths have failed this is likely to fail as well

On OS X if you move the xojo project it should find the files correctly but you will want to save the project again as this will cause it to recalculate the partial & full paths

There is no mechanism in the IDE to “reset” all the info used to locate images

Thanks @Norman Palardy i have made another topic where i explain other difficulties with full paths.
Those happen show up as changed files over-and-over from one user to another cause the full path constantly changes.

The path in the manifest is the path to the project item that represents an image - not the contents (the actual pictures) IN the image.

The actual image project item holds 3 “paths” and it uses them in the order I listed in the other post

There is no way to strip out the “full path” from that items set of references