Xcode를 통해 실행할 때 내 앱이 오늘 신비하게 충돌하기 시작했습니다. , 앱 설정, 특히 Root.plist가 손상되었습니다. 왜?
구체적으로, 엑스 코드 내 Settings.bundle에 Root.plist가는 : 나는 설정을 사용할 수없는에 문제를 추적, 사실, 내 응용 프로그램의 설정 응용 프로그램을보고, 나는 참조
따라서, 파일이 손상되었습니다이 오류 메시지가 표시됩니다. 혼란 스럽지만 너무 걱정하지 않아. 나는 지난 밤에 파일 사본을 얻는다. (감사합니다 TimeMachine). 그 파일과 내가 지금 가지고있는 파일을 비교하면 차이가 없습니다. 나는 다른 버전을 찾을 때까지 며칠간 되돌아갑니다. 불행히도 내가 심각하게 root.plist 파일을 개정했을 때 최신 버전에서 손상된 것을 찾을 수 없었습니다.
또한 내 앱이 설치되지 않은 새 iPhone에서만 응용 프로그램이 충돌합니다. Xcode를 통해 동일한 앱을 실행할 때 내 다른 iPhone이 충돌하지 않지만 위의 스크린 샷과 같이 빈 설정 창을 표시합니다. 나는 root.plist가 손상되었을지라도 실제 NSUSerDefaults는 여전히 iPhone에 있지만 손상되지 않은 root.plist를 가지고 있다고 생각한다.하지만 새로운 iPhone에는 NSUSerDefaults가 없기 때문에 내 나쁜 앱.
내 plist 콘텐츠입니다. 손상된 것을 발견 할 수 있습니까? 감사. (난 이미 SO: Empty Settings Bundle in Xcode 4.2를 확인하고 그것은 도움이되지 않습니다.)
<?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>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSMultiValueSpecifier</string>
<key>Title</key>
<string>Initial Magnification</string>
<key>Values</key>
<array>
<integer>1</integer>
<integer>2</integer>
<integer>3</integer>
</array>
<key>Titles</key>
<array>
<string>1x</string>
<string>2x</string>
<string>3x</string>
</array>
<key>Key</key>
<string>LuminInitialMagnificationKey</string>
<key>DefaultValue</key>
<integer>2</integer>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Large Lock Button</string>
<key>Key</key>
<string>LuminLockButtonEmphasis</string>
<key>DefaultValue</key>
<true/>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Picture-in-Picture Frame</string>
<key>Key</key>
<string>LuminOutlineEnabled</string>
<key>DefaultValue</key>
<true/>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Sound</string>
</dict>
<dict>
<key>DefaultValue</key>
<false/>
<key>Key</key>
<string>LuminFocusBeepKey</string>
<key>Title</key>
<string>Focus Beep</string>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Share Options</string>
</dict>
<dict>
<key>Type</key>
<string>PSChildPaneSpecifier</string>
<key>Title</key>
<string>Mail</string>
<key>File</key>
<string>EmailSettings</string>
</dict>
<dict>
<key>Type</key>
<string>PSChildPaneSpecifier</string>
<key>Title</key>
<string>Tweet</string>
<key>File</key>
<string>TweetSettings</string>
</dict>
<dict>
<key>Type</key>
<string>PSChildPaneSpecifier</string>
<key>Title</key>
<string>Facebook</string>
<key>File</key>
<string>FacebookSettings</string>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>History</string>
<key>FooterText</key>
<string>Tagged images will not be deleted. Dropbox mirroring is queued until WiFi connectivity is available.</string>
</dict>
<dict>
<key>Type</key>
<string>PSMultiValueSpecifier</string>
<key>Title</key>
<string>Delay Before Saving</string>
<key>Values</key>
<array>
<string>1</string>
<string>3</string>
<string>5</string>
<string>7</string>
</array>
<key>DefaultValue</key>
<string>3</string>
<key>Titles</key>
<array>
<string>1 second</string>
<string>3 seconds</string>
<string>5 seconds</string>
<string>7 seconds</string>
</array>
<key>Key</key>
<string>LuminTimeToWaitBeforeHistoryKey</string>
</dict>
<dict>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
<key>Title</key>
<string>Number of Images to Keep</string>
<key>Key</key>
<string>LuminNumberOfHistoryFilesKey</string>
<key>DefaultValue</key>
<string>100</string>
<key>KeyboardType</key>
<string>NumberPad</string>
</dict>
<dict>
<key>DefaultValue</key>
<false/>
<key>Key</key>
<string>LuminDropboxActive</string>
<key>Title</key>
<string>Mirror to Dropbox</string>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>FooterText</key>
<string>Lumin™ © 2011-2012 M. Zabetian & BitsOnTheGo.com. All rights reserved. Special Thanks to Tim Smith and AppliedDesign.tv.</string>
</dict>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>DefaultValue</key>
<string>Unknown</string>
<key>Title</key>
<string>Version</string>
<key>Key</key>
<string>AppVersionStringKey</string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
나는이 문제에 대해서도 눈치 챘다. Xcode의 버그라고 생각한다. .plist를 수동으로 (코드 내에서) 수정할 때마다 거의 저에게 일어납니다. Xcode는 그것이 아니라고 주장 할 때 파일이 손상되었다고 주장합니다. 이 문제를 완전히 피할 수있는 유일한 방법은 Xcode의 UI에서 파일을 수정하는 것입니다. –
나는 그것을 이해했을지도 모른다라고 생각한다. @MDT, plist에 "&"가 있습니까? – mahboudz
나는 그것이 당신을 위해 무엇을했는지를 추측하고 있습니다. 그리고 Xcode가 저에게 문제가 있다고 생각하기 시작하지 않았습니다. –