sandbox-exec file-write ведет себя неожиданно - PullRequest
1 голос
/ 12 октября 2019

У меня есть файл правил, подобный этому

(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/*", ...
...