'sandboxd: Datei-Schreiben-Erstellen verweigern' beim Schreiben in das App-eigene Bundle

Ich habe ein Programm im Mac App Store geschrieben, das einige Grafiken anzeigt. Gelegentlich werden diese aus dem Internet aktualisiert. Wie bei den meisten Leuten muss ich jetzt meine App sandboxen.

Fast alles funktioniert, aber beim Aktualisieren speichert es eine Datei im eigenen Bundle meiner App und schlägt mit 'sandboxd: deny file-write-create' fehl.

Ich benutze nur fopen (..., "wb")

Der in fopen übergebene Pfad lautet: /Users/MyUser/Library/Developer/Xcode/DerivedData/MyApp-czuwveatgjffaggwqjdqpobjqqop/Build/Products/Debug/My.app/Contents/Resources/the_file.foo

Der Pfad wird erstellt mit:

CFBundleRef bundle = CFBundleGetMainBundle();
CFURLRef url = CFBundleCopyResourcesDirectoryURL(bundle);
CFURLGetFileSystemRepresentation(url, true, (UInt8*)buf, sizeof(buf));

Mache ich hier offensichtlich etwas falsch? Meine App ist plattformübergreifend, daher würde ich im Idealfall weiterhin fopen / etc verwenden. Wie ich verstanden habe, sollte es der App gestattet sein, in ein eigenes Bundle zu schreiben, auch wenn sie an anderer Stelle blockiert ist?

Vielen Dank!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage