Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XCode 7: xcdatamodeld doesn’t exist

After updating to XCode 7 in order to support iOS9 I had the following build error

error: Cannot read bundle contents (Error Domain=NSCocoaErrorDomain Code=260 "The folder “VoIP.xcdatamodeld” doesn’t exist.

Build target myTitle of project myTitle with configuration Debug

DataModelCompile Build/Products/Debug-iphoneos/myTitle.app/ /Users/myself/MyDev/m1/app/VoIP/VoIP/VoIP.xcdatamodeld cd /Users/myself/MyDev/m1/app/app/iPhone export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/usr/bin/momc --sdkroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk --iphoneos-deployment-target 7.0 --module myTitle /Users/myself/MyDev/m1/app/VoIP/VoIP/VoIP.xcdatamodeld /Users/myself/MyDev/m1/app/app/iPhone/Build/Products/Debug-iphoneos/myTitle.app/

/Users/myself/MyDev/m1/app/VoIP/VoIP/VoIP.xcdatamodeld:: error: Cannot read bundle contents (Error Domain=NSCocoaErrorDomain Code=260 "The folder “VoIP.xcdatamodeld” doesn’t exist." UserInfo=0x7fd0f350f990 {NSFilePath=/Users/myself/MyDev/m1/app/VoIP/VoIP/VoIP.xcdatamodeld, NSUserStringVariant=( Folder ), NSUnderlyingError=0x7fd0f350f940 "The operation couldn’t be completed. (OSStatus error -43.)"})

How can I resolve it?

The only reference about this file in my project is this one (in the .project file)

/* Begin XCVersionGroup section */
                449367DE1338E89100DB4AC9 /* myTitle.xcdatamodeld */ = {
                        isa = XCVersionGroup;
                        children = (
                                449367DF1338E89100DB4AC9 /* VoIP.xcdatamodel */,
                        );
                        currentVersion = 449367DF1338E89100DB4AC9 /* VoIP.xcdatamodel */;
                        name = myTitle.xcdatamodeld;
                        path = ../../../../VoIP/VoIP/VoIP.xcdatamodeld;
                        sourceTree = "<group>";
                        versionGroupType = wrapper.xcdatamodel;
                };
/* End XCVersionGroup section */

No idea how it came from and why it worked w/o problems in previous xcode versions.

like image 468
cateof Avatar asked Sep 30 '15 13:09

cateof


2 Answers

I had the same issue when I stashed a new Model and unfortunately the selected solution did not work for me. What worked for me was: find the model file in your project folder in Finder ("ModelNameHere.xcdatamodeld"); right-button click and select "Show Package Contents". You will see all versions of the Model - delete the one that was not supposed to exist.

like image 71
tperei Avatar answered Oct 15 '22 08:10

tperei


Check Compile Sources under Build Phases for your Target setting described in the below image.


enter image description here


I saw all the resources carefully and found one resource without any path (an unknown resource, I don't know how it appeared there..). Remove it from there, clean the product and run.

The above was the only reason in my case..

Hope it helps you !!!

like image 22
NSPratik Avatar answered Oct 15 '22 08:10

NSPratik