I created a settings bundle for my iOS app and tried to edit the Root.plist file.
I can change some of the existing values (those that are created by default), but if I try to add a new item (no matter the type), Xcode 4 crashes with the following error:

Anybody knows what might be causing this?
I’m using Xcode 4.02 build 4A2002a.
This is the log:
ASSERTION FAILURE in /SourceCache/DVTKit/DVTKit-221/Framework/Classes/PlistView/DVTPlistDictionaryNode.m:171
Details: method -[DVTPlistDictionaryNode value] is inappropriate for instances of DVTPlistDictionaryNode
Object: <DVTPlistDictionaryNode: 0x202442340>
Method: -value
Thread: <NSThread: 0x200020700>{name = (null), num = 1}
Hints: None
Backtrace:
0 0x0000000100949773 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in IDEKit)
1 0x000000010006d394 _DVTAssertionFailureHandler (in DVTFoundation)
2 0x00000001002ed3cb -[DVTPlistDictionaryNode value] (in DVTKit)
3 0x00000001002f0443 -[DVTPlistModel replacePlist:withPlist:] (in DVTKit)
4 0x00000001003030d4 -[DVTPlistViewController outlineView:setObjectValue:forTableColumn:byItem:] (in DVTKit)
5 0x00007fff8830e149 -[NSOutlineView _dataSourceSetValue:forColumn:row:] (in AppKit)
6 0x00007fff883c4dd9 -[NSTableView performClickOnCellAtColumn:row:] (in AppKit)
7 0x00007fff883c1200 -[NSTableView _attemptToPerformClickOnFocusedColumn] (in AppKit)
8 0x00007fff86bd511c __NSFireDelayedPerform (in Foundation)
9 0x00007fff867f5be8 __CFRunLoopRun (in CoreFoundation)
10 0x00007fff867f3dbf CFRunLoopRunSpecific (in CoreFoundation)
11 0x00007fff88f577ee RunCurrentEventLoopInMode (in HIToolbox)
12 0x00007fff88f575f3 ReceiveNextEventCommon (in HIToolbox)
13 0x00007fff88f574ac BlockUntilNextEventMatchingListInMode (in HIToolbox)
14 0x00007fff87ec4e64 _DPSNextEvent (in AppKit)
15 0x00007fff87ec47a9 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit)
16 0x00007fff87e8a48b -[NSApplication run] (in AppKit)
17 0x00007fff87e831a8 NSApplicationMain (in AppKit)
18 0x0000000100000eec
19 0x0000000000000002
This is the contents of the root.plist created by Xcode itself:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Title</key>
<string>Group</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>AutocapitalizationType</key>
<string>None</string>
<key>AutocorrectionType</key>
<string>No</string>
<key>DefaultValue</key>
<string></string>
<key>IsSecure</key>
<false/>
<key>Key</key>
<string>name_preference</string>
<key>KeyboardType</key>
<string>Alphabet</string>
<key>Title</key>
<string>Name</string>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
</dict>
<dict>
<key>DefaultValue</key>
<true/>
<key>Key</key>
<string>enabled_preference</string>
<key>Title</key>
<string>Enabled</string>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
</dict>
<dict>
<key>DefaultValue</key>
<real>0.5</real>
<key>Key</key>
<string>slider_preference</string>
<key>MaximumValue</key>
<integer>1</integer>
<key>MaximumValueImage</key>
<string></string>
<key>MinimumValue</key>
<integer>0</integer>
<key>MinimumValueImage</key>
<string></string>
<key>Type</key>
<string>PSSliderSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
Sounds like an Apple bug. If you tell Xcode to Continue rather than Crash, you might be able to keep working as if nothing went wrong. If all else fails, you might consider using PlistBuddy or defaults to manipulate your plist. (Property List Editor.app would be ideal, but I don’t think it’s included in the Xcode 4 installation.)