Saya menggunakan akun pengguna standar untuk tugas harian saya di Mac OS. Sejak memutakhirkan ke Snow Leopard, saya diminta untuk melakukan hal berikut saat program dijalankan dari dalam Xcode:
"Ketik nama dan sandi pengguna di grup 'Alat Pengembang' untuk mengizinkan Akses Alat Pengembang membuat perubahan"
Meskipun saya tahu nama pengguna / kata sandi admin, ini mengganggu (meski hanya diperlukan sekali per login).
Akses alat pengembang meminta hak untuk "system.privilege.taskport.debug" dari aplikasi gdb-i386-apple-darwin.
Apa cara terbaik untuk mengatasi ini?
xcode
macos
osx-snow-leopard
privileges
dscl
Andrew Cain
sumber
sumber
-u <name-of-account-with-root-access>
ke opsi. Jadi perintah penuh saya adalahdscl -u <root-account> . append /Groups/_developer GroupMembership <my-account>
Akhirnya, saya bisa menyingkirkannya menggunakan
DevToolsSecurity -enable
di Terminal. Terima kasih untuk @joar_at_work !FYI : Saya menggunakan Xcode 4.3, dan menekan tombol nonaktifkan ketika diluncurkan untuk pertama kalinya, jangan tanya mengapa, anggap saja anjing saya menyuruh saya melakukannya :)
sumber
-enable
dengan-disable
dan itu berfungsi seperti yang diharapkan!dscl -u <root-account> . append /Groups/_developer GroupMembership <my-account>
sumber
Anda harus menambahkan diri Anda sendiri ke grup Alat Pengembang. Sintaks umum untuk menambahkan pengguna ke grup di OS X adalah sebagai berikut:
Saya yakin nama untuk grup DevTools adalah
_developer
.sumber
Solusi Ned Deily bekerja dengan baik, asalkan pengguna Anda diizinkan
sudo
.Jika tidak, Anda bisa
su
ke akun admin, lalu gunakan miliknyadscl . append /Groups/_developer GroupMembership $user
, di mana $ user adalah nama pengguna.Namun, saya salah mengira itu bukan karena saya salah mengetik nama pengguna di perintah dan diam-diam gagal.
Oleh karena itu, setelah memasukkan perintah ini, Anda harus melakukan pengecekan ulang. Ini akan memeriksa apakah $ user ada di $ group, di mana variabel mewakili masing-masing nama pengguna dan nama grup.
Perintah ini akan mencetak pesan
user is not a member of the group
atauuser is a member of the group
.sumber
dscl . append /Groups/_developer GroupMembership username
dandsmemberutil checkmembership -U "username goes here" -G "group goes here"
Jawaban yang disarankan oleh @Stacy Simpson:
Kami sedang berjuang dengan masalah yang dijelaskan dalam utas ini dan tidak ada resolusi yang berhasil:
Karena saya baru mengenal SO, saya tidak dapat memposting di salah satu utas. (Yang pertama sebenarnya ditutup dan saya tidak setuju dengan alasan pelokalan ...)
Bagaimanapun, kami membuat penyelesaian menggunakan AppleScript yang mungkin menarik bagi orang-orang. Skrip di bawah ini harus dijalankan secara asinkron sebelum meluncurkan pengujian otomatis Anda:
Berikut skripnya:
Mungkin tidak terlalu aman, tetapi ini adalah solusi terbaik yang kami buat untuk memungkinkan pengujian berjalan tanpa memerlukan campur tangan pengguna.
Semoga saya mendapatkan poin yang cukup untuk memposting jawabannya; atau, seseorang dapat membuka proteksi pertanyaan ini. Salam.
sumber
Berikut adalah solusi yang lebih baik dari
Mac OS X yang ingin menggunakan rantai kunci sistem saat menyusun proyek
sumber
Bagi saya, saran di utas berikut membantu saya:
Hentikan "akses alat pengembang perlu mengontrol proses lain untuk debugging untuk melanjutkan"
Ini menyarankan menjalankan perintah berikut di aplikasi Terminal :
sumber
Saya menggunakan Snow Leopard dan yang ini tidak cukup berhasil untuk saya. Tetapi prosedur berikut berhasil:
sumber
Setelah Anda berlari:
sesuai jawaban di atas, Anda mungkin masih diminta untuk memasukkan kata sandi Anda sendiri:
Kami membutuhkan otorisasi dari pengguna admin untuk menjalankan debugger. Ini hanya akan terjadi sekali per sesi login.
Apa artinya sebenarnya adalah setiap pengguna _developer groupmember jadi hanya pengguna / kata sandi non-admin Anda yang akan berfungsi di sini tetapi untuk menghapusnya sepenuhnya (tidak ada perintah setelah reboot) Anda juga harus menjalankan:
(menjalankannya dengan sudo sebagai pengguna admin / sebagai root akan membuatnya sehingga Anda dapat melakukannya dari jarak jauh tanpa prompt kata sandi gui)
sumber