«sandboxd: запретить файл-запись-создание» при записи в собственный пакет приложения
Я написал программу в магазине приложений Mac, которая отображает некоторую графику. Иногда он обновляет их в интернете. Как и большинству людей, я сейчас вынужден помещать в песочницу свое приложение.
Почти все работает, но при обновлении он сохраняет файл в собственном пакете моего приложения и завершается ошибкой с помощью «sandboxd: deny file-write-create»
Я просто использую fopen (..., & quot; wb & quot;)
Путь, пройденный в fopen: /Users/MyUser/Library/Developer/Xcode/DerivedData/MyApp-czuwveatgjffaggwqjdqpobjqqop/Build/Products/Debug/My.app/Contents/Resources/the_file.foo
Путь создается с помощью:
CFBundleRef bundle = CFBundleGetMainBundle();
CFURLRef url = CFBundleCopyResourcesDirectoryURL(bundle);
CFURLGetFileSystemRepresentation(url, true, (UInt8*)buf, sizeof(buf));
Я делаю что-то явно не так здесь? Мое приложение мультиплатформенное, поэтому в идеале я бы продолжал использовать fopen / etc. Как я понял, приложению следует разрешить запись в свой собственный пакет, даже если оно заблокировано от каких-либо действий в другом месте?
Спасибо!