简体   繁体   中英

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.

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


在此输入图像描述


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 !!!

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM