Ich habe den folgenden Code in meinem ApplicationDelegate. Mein Bereitstellungsziel ist 3.0 und höher, jedoch erhalte ich eine EXC_BAD_ACCESS, wenn ich die App mit dem folgenden Code auf meinem iPhone mit 3.1.3 starten, jedoch auf dem Simulator, der 4.2 hat es läuft gut.
Dieses Problem ist nun GELÖST . Der Code unten funktioniert, und es bekam eine EXC_BAD_ACCESS aufgrund einer NSURLConnection in meinem Code. Ich werde meinen Code nicht löschen, wenn jemand anderes dieses Problem hat. Vielen Dank für Ihre Hilfe.
UPDATE: Plist-Datei:
<dict>
<key>StringsTable</key>
<string>Root</string>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Check for report on start?</string>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Autocheck reports?</string>
<key>Key</key>
<string>FAutoUpdatePrefKey</string>
<key>DefaultValue</key>
<true/>
</dict>
</array>
Anwendungsdelegierte
+ (void)initialize {
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *pListPath = [path stringByAppendingPathComponent:@"Settings.bundle/Root.plist"];
NSDictionary *pList = [NSDictionary dictionaryWithContentsOfFile:pListPath];
NSMutableArray *prefsArray = [pList objectForKey:@"PreferenceSpecifiers"];
NSMutableDictionary *regDictionary = [NSMutableDictionary dictionary];
for (NSDictionary *dict in prefsArray) {
NSString *key = [dict objectForKey:@"Key"];
if(key) {
id value = [dict objectForKey:@"DefaultValue"];
[regDictionary setObject:value forKey:key];
}
}
[[NSUserDefaults standardUserDefaults] registerDefaults:regDictionary];
}