Bagaimana cara skrip menginstal atau meningkatkan aplikasi dari Mac App Store? Saya lebih suka alat baris perintah, tetapi AppleScript atau API lain sudah cukup.
Potongan puzzle yang relevan:
installer
: perhatikan terutama-store
flag yang digunakan untuk mensimulasikan pemasangan App Store untuk pengembang paket.systemupdate
: mampu menangani pembaruan untuk aplikasi Apple, menandai-i
penginstalan dan-a
memerintahkannya untuk menginstal semua pembaruan yang tersedia
macos
mac-appstore
command-line
automator
code-signing
Joseph Holsten
sumber
sumber
Jawaban:
Kebanyakan orang bisa menyalakan pembaruan otomatis dan membiarkan Apple mengelola semua pembaruan. Jika ada alasan mengapa Anda tidak bisa atau tidak mau melakukannya, alat baris perintah memang ada untuk mengotomatiskan pemasangan dan pembaruan App Store.
Salah satu alat open source terkenal untuk mereplikasi Mac App Store dari baris perintah adalah mas :
Untuk memasang:
Setelah masuk, Anda dapat memperbarui semua aplikasi yang tersedia dengan:
Jika Anda tidak ingin mempercayai perangkat lunak pihak ketiga dengan ID Apple Anda, Anda juga bisa mengotomatiskan UI Anda dan dapat menyimpan nama akun dan kata sandi menggunakan gantungan kunci.
Solusi Apple untuk tambalan dan pembaruan keamanan non-App Store adalah menjalankan
softwareupdate
alat dari baris perintah untuk memperbarui semua perangkat lunak yang ingin diinstal oleh Apple tanpa campur tangan pengguna atau melalui UI App Store.Saat ini di Lion and Mountain Lion - ini berarti bahwa Mac akan menekan server OS X lokal yang sedang melakukan cache unduhan untuk pembaruan sistem dan perangkat lunak yang diinstal di luar App store. Jika Anda tidak memiliki server pembaruan perangkat lunak lokal, tentu saja akan mengunduh file langsung dari Apple.
Untuk Mountain Lion 10.8.2 dan lebih rendah, - semuanya masih datang melalui App Store - sehingga perangkat lunak Apple seperti pembaruan OS X sepenuhnya dapat skrip menggunakan alat ini untuk pembaruan dan pembaruan non-App Store saja.
Apa yang tidak bisa skrip (belum atau mungkin pernah) adalah aplikasi yang diinstal dari App Store seperti Xcode dan Halaman dan aplikasi pihak ketiga. Ini berarti Anda tidak dapat hanya memiliki satu alat untuk memperbarui semua perangkat lunak tanpa membuka aplikasi App Store dan memasukkan kata sandi di layar antarmuka pengguna.
Yang dapat Anda lakukan adalah mengunduh aplikasi satu kali dan kemudian menyalin aplikasi ke banyak mac asalkan ID Apple yang digunakan untuk mengunduh salinan aplikasi yang pertama juga digunakan pada semua Mac yang akan menjalankan aplikasi tersebut.
Saya tahu beberapa lembaga yang membeli satu salinan dari setiap aplikasi untuk lab 20 komputer untuk mendapatkan lisensi untuk setiap kursi, tetapi kemudian menggunakan satu file untuk semua Mac sehingga setelah satu unduhan pembaruan selesai, alat seperti Apple Remote Desktop atau Caspar atau alat buatan rumah seperti
scp
ataursync
digunakan untuk memindahkan versi aplikasi yang diperbarui ke semua Mac di lab.Jika Anda memilih rute masing-masing Apple ID untuk setiap mesin, Anda tidak akan dapat membuat skrip instalasi pembaruan Aplikasi karena masing-masing akan meminta kata sandi untuk setiap akun kecuali Anda merasa nyaman mengetahui semua kata sandi dan melakukan skrip UI di mana AppleScript dapat masukkan nama pengguna dan kata sandi yang benar secara terprogram dan kemudian klik tombol untuk memulai proses pengunduhan untuk setiap pembaruan mesin. Cara aplikasi app store menandatangani kode membuatnya sulit untuk hanya meluncur dalam pembaruan tanpa membatalkan paket atau entah bagaimana membalikkan rekayasa / jailbreaking seluruh proses app store dan menghindari aliran normal membiarkan penginstal aplikasi melakukan kerjanya.
sumber
Ini dimungkinkan menggunakan
mas
utilitas baris perintah sumber terbuka :Pengungkapan: Saya adalah pencipta
mas
sumber
Anda mungkin ingin memeriksa sprout-wrap dan solois . Anda dapat menginstal paket OSX dari uri menggunakan
dmg_package
penyedia. Lihatlah beberapa resep dalam kecambah untuk beberapa contoh.Untuk memperbarui pembaruan keamanan secara otomatis, gunakan resep pivotal_workstation :: osx_updates . ( Perhatikan bahwa ini menggunakan
softwareupdate
)Untuk aplikasi Homebrew ,
brew
penyedia memilikiupgrade
tindakan.Sejauh yang saya tahu, tidak ada penyedia untuk memperbarui aplikasi App Store secara otomatis. Namun, Anda mungkin dapat menggunakan fitur pembaruan otomatis bawaan dari beberapa aplikasi dalam blok
execute
ataubash
penyedia. Anda juga dapat menggunakan AppleScript dalam resep koki untuk mengotomatiskan aplikasi App Store. Untuk beberapa contoh menggunakan AppleScript sebaris, lihat resep sprout-osx-settings :: function_keys . (Beberapa contoh lain: sprout-osx-settings :: remove_expose_keyboard_shortcuts , sprout-osx-settings :: set_finder_show_user_home_in_sidebar )sumber
Saya tidak yakin tentang solusi tipe AppleScript, tetapi ada alat untuk mengelola sejumlah besar sistem OS X.
Yang paling saya kenal adalah radmind (yang dimulai di UMich untuk mengelola lab mereka (situs lama) ).
Radmind benar-benar diarahkan untuk menggunakan templat OS standar ke banyak mesin dan menjaganya agar tetap terbaru, jadi untuk situs kecil itu mungkin terlalu banyak pekerjaan. Alur kerja dasar adalah:
... Jadi dalam arti yang paling ketat itu bukan mengotomatiskan pemasangan, tetapi Anda hanya perlu melakukan sedikit interaktif satu kali dan kemudian mendistribusikan OS yang diperbarui kepada klien Anda.
Jelas ini bekerja paling baik jika Anda dapat menginstal satu set perangkat lunak standar di mana-mana - Jika klien Anda semuanya spesial dan unik ini mungkin bukan solusi yang bagus.
sumber
radmind
adalah "Instal aplikasi pada mesin template Anda dan perbarui transkrip". (Masih instalasi manual, tetapi satu instalasi manual bukan 1000.)