All the other problems stemmed from my lack of experience with using Xcode. It took me ages to realise that if I wanted to link to a library such as Boost test all I had to do was insert it into the project; I was hunting for a build option in the menu for a linker option and scouring through the help documents for how to link libraries, but there wasn't a help page that simply states "just add it into the Xcode project, stupid". There were also a whole bunch of frameworks I had to drag in for some reason which involved having my PC open to Google and hunting for which linker error corresponded to which framework.
Still, it works now. The unit tests all pass, and the SDL test runs without errors. My SDL test doesn't actually do anything except make a log file and write settings to a file, but that works too. It's nice to know that the file system works just as well on Windows as it does in Mac OS X.
At the moment PhysicsFS writes to the default directory of (Your Home Directory)/.Diagonal/(AppName), where the terms in brackets are replaced with the obvious replacements. Without an uninstall facility this will leave junk on your system if you delete one of my apps, which is a particular problem in Unix flavoured systems as directories that begin with a dot are hidden.
Possible solutions to this problem are:
- Make my applications so awesome that no one would ever want to delete them
- Add uninstall capabilities for each platform
- Put the directories in a more obvious place so people can delete them if they wish
Also, don't forget to move your Frameworks into the "Copy Files" phase of the target; this copies the libraries inside the application bundle so your end-user doesn't have to install SDL, etc themselves.
With some modification of the SDLmain.m file, you can also put your game data inside the application bundle, which keeps it from being tampered with.
I can walk you through it if you're having trouble.