Как создать сценарий, который может быть загружен и запущен нетехническим пользователем Mac, дважды щелкнув по нему? - PullRequest
0 голосов
/ 09 сентября 2018

Я хочу создать скрипт, который может быть загружен и запущен нетехническим пользователем Mac. Я не хочу, чтобы они открывали окно терминала и набирали команды.

Я хочу, чтобы весь процесс был максимально простым.

Есть ли способ добиться этого?

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Существует бесплатное приложение под названием Platypus , которое превратит ваш скрипт в простое приложение для Mac. Я использую его в своих скриптах Python, но он работает для многих других типов скриптов, включая скрипты оболочки. После запуска Platypus в вашем скрипте все, что нужно сделать клиенту - это дважды щелкнуть приложение.

0 голосов
/ 09 сентября 2018

Я уже решил это, но так как я не нашел статью, предоставляющую явную помощь, я решил написать ее здесь. Чтобы доставить сценарий, который легко запускается нетехническим пользователем, вы можете кодировать подпись исполняемого сценария и упаковать его в DMG, который вы также кодируете. Для этого есть несколько шагов, поэтому позвольте мне распаковать его для вас.

  1. Создание идентификатора разработчика Apple
    1. Это самый простой шаг (costs стоит денег). Просто следуйте инструкциям здесь: https://developer.apple.com/programs/enroll/
  2. Создание сертификата ID разработчика
    1. Примечание: это может сделать только командный агент.
    2. Войдите в свою учетную запись разработчика Apple
    3. Выберите macOS из выпадающего меню в верхнем левом углу
    4. Выбор сертификатов, идентификаторов и профилей
    5. В разделе Сертификаты выберите Производство
    6. Нажмите кнопку «+» справа
    7. В разделе «Производство» выберите «ID разработчика» и нажмите кнопку «Продолжить»
    8. Выберите «Application ID Application» и нажмите кнопку «Продолжить»
    9. Следуйте инструкциям для создания нового CSR и нажмите Продолжить
    10. Загрузите CSR и затем загрузите сертификат.
    11. Дважды щелкните сертификат, чтобы импортировать его в цепочку для ключей. Запустится приложение Keychain Access.
    12. Выберите импортированный сертификат для просмотра идентификатора разработчика. Он будет иметь форму «Application ID Application: My Entity (blahblah)».
  3. Запустите сценарий, чтобы сделать его исполняемым, подпишите его, объедините в DMG и подпишите DMG * ​​1039 *

`` `

#!/usr/bin/env bash

# exit the script right away if there are any errors
set -e 

# make the distributed script executable
chmod a+x path/to/code/myshell.command # you MUST name this *.command for the signature to persist

# sign the script; replace 'My Entity (blahblah)' with the actual value you saw in your Keychain Access app.
codesign -s "Developer ID Application: My Entity (blahblah)" path/to/code/myshell.command

# verify that the script has been signed
spctl -a -t open --context context:primary-signature -v path/to/code/myshell.command

# create the Disk Image with the contents of the path/to/code directory
hdiutil create -ov -srcfolder path/to/code path/to/disk-image-file.dmg

# sign the disk image
codesign -s "Developer ID Application: My Entity (blahblah)" path/to/disk-image-file.dmg

# verify that the disk image has been signed
spctl -a -t open --context context:primary-signature -v path/to/disk-image-file.dmg

`` `

  1. Создайте вышеуказанный скрипт и запустите его из пути терминала bash / в / build-script.sh

Теперь, когда клиент открывает образ диска, он может просто дважды щелкнуть файл * .command, и он запустится на их компьютере. Он спросит их, уверены ли они, но это лучше, чем использование по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...