• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

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);