У меня есть файл правил, подобный этому
(version 1)
(deny default)
...
(allow file-write* (regex "/Users/thomas/Desktop"))
Когда я использую его в приложении A, он отлично работает (приложение может записывать на рабочий стол), но при использовании в приложении B он не работаетработай. Поэтому я сделал тестовое приложение (приложение C), простое приложение для какао, которое просто записывает фиктивную строку в файл, но оно все еще не работает. Если я заменю (allow file-write* (regex "/Users/thomas/Desktop"))
на (allow file-write*)
, это будет работать и в приложениях B и C, так что я знаю, что это единственное, что не так.
Так что я действительно не понимаю, что происходит. Как это может работать для приложения A, но не для B или C? Особенно учитывая, что:
- разрешает все работы (так что я знаю, что это регулярное выражение)
- приложение C минимально и не является черным ящиком
- Я пробовал тонныразличных вариаций:
literal
вместо регулярных выражений, "^/Users/thomas/Desktop"
, "^/Users/thomas/Desktop/"
, "^/Users/thomas/Desktop/*"
, ...