• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> 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);