Saya ingin menghapus aplikasi dari layanan lokasi di pengaturan keamanan dan privasi di MaC OS X 10.8 Mountain Lion. (Aplikasi masih terdaftar meskipun sudah dihapus.) Saya menemukan posting Hapus aplikasi dari Layanan Lokasi di Keamanan & Privasi di Mac OS X 10.7 , dan itu membuat saya pergi ke arah yang benar. Inilah OS X 10.8.2 yang setara dengan Mountain Lion yang berfungsi untuk saya. Perbedaan utama adalah lokasi file clients.plist. Saya juga ingin memberikan proses langkah demi langkah.
PENOLAKAN: Ini berhasil untuk saya. Pastikan Anda memiliki cadangan sistem yang baik. Proses ini termasuk membuat cadangan file clients.plist, tetapi orang tidak pernah bisa terlalu aman.
1. Mulai terminal dan kemudian sudo ke shell root
sudo -s
2. Pergi ke / var / db / locationd
cd /var/db/locationd
3. Buat cadangan file clients.plist
cp -p clients.plist clients.plist.save
4. Konversikan clients.plist ke xml (format yang dapat diedit)
plutil -convert xml1 clients.plist
5. Gunakan vi (vim) untuk mengedit file clients.plist dan menghapus aplikasi.
vi clients.plist
File tersebut kemungkinan akan berisi banyak entri aplikasi. Berikut adalah format entri aplikasi tunggal (Safari dalam kasus ini). Seluruh entri perlu dihapus.
<key>com.apple.Safari</key>
<dict>
<key>Authorized</key>
<true/>
<key>BundleId</key>
<string>com.apple.Safari</string>
<key>Executable</key>
<string>/Applications/Safari.app/Contents/MacOS/Safari</string>
<key>LocationTimeStopped</key>
<real>376348187.80421197</real>
<key>Registered</key>
<string>/Applications/Safari.app/Contents/MacOS/Safari</string>
<key>RequirementString</key>
<string>identifier "com.apple.Safari" and anchor apple</string>
<key>Whitelisted</key>
<false/>
</dict>
6. Konversikan file clients.plist kembali ke biner
plutil -convert binary1 clients.plist
7. Mulai ulang lokasid
killall locationd
Jika aplikasi masih ada, lakukan proses lagi, kecuali restart locationd menggunakan kill -9 setelah menentukan PID sebagai berikut. PID adalah bidang kedua dalam output ps.
ps -ef | grep locationd | grep -v grep
Keluaran: 205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
kill -9 427
Saya menjalankan proses dua kali untuk menghapus satu aplikasi sekaligus. Pertama kali, killall sudah cukup. Kedua kalinya, tidak. Saya tidak tahu kenapa. Itu bertindak seperti locationd sedang menyimpan cache dan membangun kembali clients.plist. Saya mengatakan ini karena entri ditambahkan kembali ke clients.plist setelah menjalankan killall - dan bahkan pada reboot. Apapun akar masalahnya, menggunakan kill -9 memecahkan masalah bagi saya.
Jika semuanya berjalan buruk, salin kembali file asli dan mulai ulang lokasid.
cp -p clients.plist.save clients.plist
killall locationd
(atau metode kill -9)
Saya harap ini membantu. Tepuk tangan!
Jawaban:
Editor daftar properti Xcode juga dapat digunakan untuk menghapus entri aplikasi lama, tetapi karena file sulit diakses, izin harus dibuka sementara:
sehingga direktori dan file dapat dibaca dan ditulis oleh semua pengguna. Kemudian, untuk kenyamanan, su ke ID login Anda:
Ini mengasumsikan Xcode adalah aplikasi default untuk membuka file * .plist, dan Anda terbiasa dengan Editor Daftar Properti. Di bawah properti Root, ada 3 entri Kamus default:
Mereka seharusnya tidak dihapus. Untuk entri yang termasuk dalam aplikasi yang sudah lama hilang, Anda dapat mengarahkan kursor ke sebelah kiri kolom Kamus dari baris aplikasi yang sesuai, tempat abu-abu terbalik '-' akan muncul. Mengkliknya akan menghapus item, dan semua anak-anaknya. Jika Anda lebih suka memeriksa entri terlebih dahulu, mengklik segitiga abu-abu (akrab bagi pengguna tampilan daftar Finder) di sebelah kiri string kunci akan memperluas Kamus dan menampilkan elemen-elemennya.
Setelah Anda menghapus atau menonaktifkan kunci untuk kepuasan Anda, simpan file, dan keluar dari Xcode. Kemudian, kembali di Terminal, lakukan:
tekan panah atas dua kali untuk mengingat perintah chmod, ctrl-Auntuk pergi ke awal baris, cursor-rightsekitar delapan kali, ubah '+' ke a '-', atau masukkan yang berikut ini seperti yang ditunjukkan untuk mengembalikan izin seperti apa adanya:
lalu HUP daemon lokasi:
pemeriksaan cepat tab Privacy.PrefPane Privacy harus mengkonfirmasi perubahan Anda.
Penafian standar, kisah peringatan akan celaka, omelan, celaan, dan "Apakah Perjalanan Ini Benar-Benar Diperlukan?" refleksi terutama berlaku.
sumber
Menggunakan tccutil (utilitas Baris Perintah OS X)
Saya pikir cara tercepat dan teraman untuk melakukan ini, adalah dengan tccutil utilitas baris perintah OS X
Setel ulang layanan Lokasi
Atur ulang akses ke kontak / buku alamat:
Setel ulang akses ke Pengingat
Setel ulang akses ke Kalender
Dan hanya itu yang ada untuk itu. Omong-omong, tidak diperlukan Sudo.
sumber
tccutil reset CoreLocationAgent
itu sepertinya tidak berfungsi lagi. Lihat masalah ini .Ini adalah yang lama dan solusi yang saya usulkan tidak berbeda secara teknis dari solusi di pos dan diterima, tapi itu jauh lebih mudah dan lebih mudah untuk diotomatisasi (berguna untuk debugging). Lakukan saja
sebagai root.
sumber
Selain jawaban sebelumnya, masalah ini hanya hilang untuk saya setelah mengoreksi kepemilikan file:
Kemudian nyalakan kembali komputer.
sumber