• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

plist writetofile /test.plist jailbreak

azamatbagatov

Weigelts Zinszahler (Rotfranch)
Registriert
27.09.08
Beiträge
252
hi ich hab eine kleine app mit dem iphone toolchain geschrieben und möchte eine propertyliste ändern, nur hab ich hierbei das problem, dass sich nichts in der plist ändert.

hier mein code:

Code:
plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/test.plist"];

            [plistDict setValue:@"geht" forKey:@"test"];
            
            [plistDict writeToFile:filePath atomically:YES];
die plist habe ich direct im rootverzeichnis gespeichert, rechte auf 0777 gesetzt und sieht folgerndermasen aus:
Code:
<?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>test</key>
    <string>Hallo</string>
</dict>
</plist>
danke für jede hilfe schon im voraus:-)

ps: sitze schon seit ein paar stunden dran und probier aber kein erfolg. Hab auch schon den sourcecode von Cydia(http://svn.saurik.com/repos/menes/trunk/cydia/) . Saurik macht es eigendlich genau gleich:-[
 
nach langem herrumprobieren habe ich des endlich geschafft:



Code:
plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/test.plist"];
            [plistDict setValue:@"geht" forKey:@"test"];
            CFURLRef url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (uint8_t *) "/test.plist", strlen("/test.plist"), false);
            CFWriteStreamRef stream = CFWriteStreamCreateWithFile(kCFAllocatorDefault, url);
            CFWriteStreamOpen(stream);
            CFPropertyListWriteToStream(plistDict, stream, kCFPropertyListXMLFormat_v1_0, NULL);
            CFWriteStreamClose(stream);