Приложение OSX, которое я написал, говорит "Отказано в доступе" при загрузке из Интернета
Я создал приложение для OSX, которое я намерен распространять, загрузив файл.app с моего веб-сайта. Проблема в том, что когда файл загружается, затем исполняется, он останавливается и консоль говорит "sh:: Permission Denied"
Этого не происходит, если файл копируется на другие компьютеры через флешку или компакт-диск, и все работает нормально.
Что происходит и как я могу преодолеть ошибку, чтобы я мог распространять программу через мой сайт? Должны быть какие-то меры предосторожности по OSX для программ, загружаемых из Интернета?! Что работает, так это "sudo open -a" с терминала, но этого недостаточно для удобного распространения. Этот шаг не требуется, если файл не поступает из Интернета.
Вещи, которые я пробовал: несколько систем OSX, изменение привилегий на "чтение и запись" в Get Info файла, размещение файла в разных местах
РЕДАКТИРОВАТЬ: После просмотра большого количества документации и поисков в Google, я теперь решил эту проблему. Проблема заключалась в выполнении файлов, содержащихся в папке.app. Эта функция, по-видимому, ограничена, когда OSX не может определить разработчика файла, загруженного из Интернета. Чтобы решить это, я добавил
os.chmod(<file_directory>,0777)
где '<' file_directory '>' - это путь к любому файлу, который выполняется или мог быть выполнен моей программой и содержится в папке.app.
Программа была написана на Python 2.7.
1 ответ
В системе Unix есть 3 бита для файла Read,Write,Execute. Если вы хотите выполнить, ваше 3-битное целое число является нечетным числом. as: 1 3 7. Напишите этот комментарий и работайте сейчас нормально chmod 777
, First 7 - владельцы, вторые для группы, и последний - гостевое разрешение.