Question

I'm building an iPhone app, and my app copies a bunch of resources to the App's Documents directory on first install. While I'm developing the app, I simply modify files in the App's Documents directory for the iPhone Simulator to make it easy to test out things without having to rebuild the app.

But when I do rebuild the app, the App's GUID, which is used in it's installation directory name, is changed, and any files I had opened are now pointing at an invalid directory.

So in short, is there anyway to force the App's GUID to be constant when installing to the iPhone simulator? This would allow me to edit files in VIM and not have them "disappear' when I do a build. I've searched StackOverflow for an answer, and haven't seen any.... The closest was this:

how to keep the iphone simulator application directory be the same when run it everytime

But it wasn't quite the same question!

Thanks!

Was it helpful?

Solution

I never did find a way to do this using the app guid, but ultimately I did find a work around. All I did was put all my references to the applications installation directory into a function, and change that function so if I'm running in the simulator, it returns a hard coded directory on my system.... That way the directory would always stay the same even if I reinstall the app, so I can edit my files without losing them when I do a build.

+(NSString *) appDocsDir
{
#if TARGET_IPHONE_SIMULATOR

        NSString* result = @"/Users/brad/ezappdir";
#else

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                             NSUserDomainMask, 
                                                             YES); 
        NSString* result = [paths objectAtIndex:0];
#endif

    return result;
}

OTHER TIPS

The way I usually handle this is by creating Copy Files or Run Script Build Phase which run after the standard build process. The compile phase will be skipped if no changes have been made to the source, so only your build phases will run. Then, make sure your editor (Photoshop / vim etc.) are editing the original files, not the files in the build directory.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top