I am trying to load an XML file in Xcode. The file is supposed to be loaded when the app is started, and updated with data to be saved for future use.
I dragged the file in the "Supporting Files" folder in Xcode, and I can see a copy of the file in the project subdirectory:
/Users/Alex/Documents/ObjectiveC projects/myProject/myProject
The code I am using to access the file is:
// Search for files in bundle
_path = [[NSBundle mainBundle] pathForResource:@"profile" ofType:@"xml"];
NSLog(@"myFile path: %@", _path);
However, when I run the app the _path
is set to some other directory:
myFile path: /Users/Alex/Library/Developer/CoreSimulator/Devices
/8F2AD2A7-4875-47C9-9AB8-852339AF31A0/data/Containers/Bundle/Application
/7D9A4A78-A7CB-40E5-8CC7-6B8EE2143D2E/myProject.app/profile.xml
Also, it looks like I cannot write to this file. The content is the same if I restart the app. This is happening regardless if I run the app in the Simulator or the device. It almost looks like I am accessing some version of the file that was cashed in the bundle when I ran the up for the first time.
It turns out that the files in the bundle are read only. This was discussed in other posts: File write with [NSBundle mainBundle] fails
I obtained what I need by copying the file to a new file when the app is initialized the first time it runs, and then use the new file as read/write file.