|HOME > View Journal >|
I encountered an unusual problem that I spent much of the day trying to figure out on Friday. I managed to find a solution near the end of the day.
My boss gave me the details on the navigation based app we are working on at the moment. I started from an example project that had some built-in navigation already in it. I wanted to remove these from the app as they appeared non-standard. I also wanted to walk myself through the process of adding a new and standardized set of view controllers and really getting familiar with how building navigation in an app works. This would also be value later if I wanted to keep a backup of this project as a snippet to examine later for future use. I like having clean code for this because it's easier to examine.
So I made a backup of the entire project, moving it into a directory where I could begin numbering my backups incrementally. After deciding on how and where I'd structure my backups, I deleted any leftovers from earlier instances of this project.
I opened my latest backup, intent on going on from there. Xcode reported no unusual issues. I compiled and ran the project in the simulator and it produced an odd result.
I combed through my code carefully, checked all of my NIBs, and recompiled several times and nothing worked. compiling onto my iPhone also didn't work. I dug around on the web, trying to find someone with a similar error, but I wasn't entirely sure what I was seeing.
While stumbling around, I found that the app began to work if I changed the name of the directory in which the project was held back to its original name. I was really confused now. Was Xcode somehow caching the directory name? My coworker, who had some experience in compiling binaries for Linux, explained that some compilers have two steps. The first saves a configuration of the program while the second compiles it. This makes subsequent compiles of the same program faster. This gave me a lead.
In the Organizer window (on the Projects tab), I found an archive of "Derived Data" libraries associated with my projects and many were highlighted in red, displaying "not found" next to them. I removed all of the "not found" libraries and tried recompiling the app once more. Everything worked then.