It sounds like you're trying to have the SDL framework copied into your game's application bundle when you build the project, but the framework isn't being copied. Since you don't have the SDL framework installed on your system, the game doesn't work because there's no SDL framework on the system. You can check to see if the SDL framework is in your game's application bundle by selecting the game in the Finder, right-clicking, and choosing Show Package Contents. The SDL framework should be under Contents > Frameworks in the application bundle.
If the SDL framework isn't in the application, you have to tell Xcode to copy it. Instructions for doing this are in the following article:
I was able to load the files when running the game inside Visual Studio. Inside the project folder are three folders: Debug, Release, and the name of the project. Inside Visual Studio the working directory was the folder that matched the project name. Moving the PNGs and DLLs into the folder matching the name of the project allowed me to load the PNGs when debugging in Visual Studio.
I moved on to getting the release versions to work. I passed the full path to the PNG files in my code. The program crashed when I launched from Windows Explorer. When I stepped through the code in Visual Studio's debugger, the first two PNG files loaded, but the third one didn't.
I do not have any non-English characters in my path.
When I use fopen, I pass the name of the file. fopen returns a pointer whose address points to NULL when I pass the full path to the file as the filename.
I run the release build from Windows Explorer. I also debug the debug build from Visual Studio. In both cases I place the PNGs and DLLs in the same directory as the executable. In both cases the PNG files do not load.