'sandboxd: odmawiaj plik-napisz-utwórz' podczas zapisywania do własnego pakietu aplikacji

Napisałem program w sklepie Mac App, który wyświetla niektóre grafiki. Czasami aktualizuje je z Internetu. Tak jak w przypadku większości ludzi, muszę teraz uruchomić aplikację Sandbox.

Prawie wszystko działa, ale podczas aktualizacji zapisuje plik w pakiecie mojej aplikacji i kończy się niepowodzeniem z „sandboxd: deny file-write-create”

Po prostu używam fopen (..., "wb")

Ścieżka przekazana do fopen to: /Users/MyUser/Library/Developer/Xcode/DerivedData/MyApp-czuwveatgjffaggwqjdqpobjqqop/Build/Products/Debug/My.app/Contents/Resources/the_file.foo

Ścieżka jest tworzona przy użyciu:

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

Czy robię tu coś oczywiście nie tak? Moja aplikacja jest wieloplatformowa, więc idealnie używałbym fopen / etc. Jak rozumiem, aplikacja powinna mieć możliwość zapisywania w swoim własnym pakiecie, nawet jeśli jest zablokowana przed robieniem czegokolwiek innego?

dzięki!

questionAnswers(1)

yourAnswerToTheQuestion