Les services de localisation sont toujours désactivés sous Mac OS X Lion


2

Un simple programme de services de localisation fonctionnait bien sur ma machine et a soudainement cessé de fonctionner. En explorant plus à fond le problème, je me suis rendu compte que certains processus avaient désactivé les services de localisation dans Préférences Système »Sécurité et confidentialité» Confidentialité .

J'ai coché Activer les services de localisation , mais encore une fois, cela a été désactivé automatiquement.

Après quelques recherches, j'ai constaté qu'il ne s'agissait pas que de mon programme, même les fonctions système intégrées échouaient également à cause de ce problème, par exemple Préférences Système »Date et heure» Le fuseau horaire n'a pas pu obtenir l'emplacement actuel.

Chaque fois que je coche Activer les services de localisation , l’erreur suivante apparaît dans les journaux de la console:

16/10/12 11:23:15.636 AM [0x0-0x42042].com.apple.systempreferences: ERROR,Time,372059595.636,Function,"CLInternalSetLocationServicesEnabled",CLInternalSetLocationServicesEnabled failed
16/10/12 11:23:15.638 AM [0x0-0x42042].com.apple.systempreferences: STACK,Time,372059595.636,1   CoreLocation                        0x00007fff8f9957be CLInternalSetLocationServicesEnabled + 110

Remarques:

  • WiFi est allumé
  • Je n'ai pas installé le simulateur iOS
  • J'utilise Xcode Version 4.5 (4G182)
  • J'utilise Boot Camp et j'effectue le double démarrage de mon MacBook Pro (Mac OS X Lion et Windows 7)
  • Je ne fais que du développement Mac mais pas iOS

Réponses:


1
#!/bin/sh
launchctl unload /System/Library/LaunchDaemons/com.apple.locationd.plist

defaults write /System/Library/LaunchDaemons/com.apple.locationd Disabled -bool false 

then

launchctl load /System/Library/LaunchDaemons/com.apple.locationd.plist

exit 0

5
Je pense que votre réponse gagnerait à une petite explication et à un formatage approprié.
Sami Laine

Bien que cela puisse répondre à la question, ce serait une meilleure réponse si vous pouviez expliquer pourquoi .
DavidPostill

Cette réponse ne résout pas le problème pour moi personnellement (je l’ai mise à jour pour n’ajouter que le formatage du code). Ce problème a été résolu pour moi en utilisant la solution que j'ai notée dans ma propre réponse.
Jon L.

0

Je rencontre le même problème dans OSX 10.11 (El Capitan).

J'ai trouvé ce post ( https://jamfnation.jamfsoftware.com/discussion.html?id=5336#responseChild65097 ). J'ai exécuté le script à l'intérieur, et finalement mes services de localisation ont été corrigés.

#!/bin/bash

########################## SET SYSTEM TIME  ##################################################
#
# Written by Tim Kimpton
#
# using information from https://jamfnation.jamfsoftware.com/discussion.html?id=5336
#
# If the machine is 5 minutes out of the kdc the machine will not bind to the domain.
#
# This script does the folling to ensure the time is correct
#
# 1. Unload the launch daemon used for location services
#
# 2. Get the hardware UUID of the machine and put it in the location services db
#
# 3. Enable location services
#
# 4. Correct permissions on the database file used for location services
#
# 5. Set the time zone to update the time automatically
#
# 6. Set the network time to on
#
# For information see https://jamfnation.jamfsoftware.com/discussion.html?id=5336
###############################################################################################

######################### ENVIRONMENT VARIABLES #######################

# Get the Hardware UUID from system profiler
uuid=$(/usr/sbin/system_profiler SPHardwareDataType | grep "Hardware UUID" | cut -c22-57)

####################### DO NOT MODIFY BELOW THIS LINE #################

# Unload the launch daemon
/bin/launchctl unload /System/Library/LaunchDaemons/com.apple.locationd.plist

# Write the UUID to the hidden plist file and initialise it
/usr/bin/defaults write /var/db/locationd/Library/Preferences/ByHost/com.apple.locationd."$uuid" LocationServicesEnabled -int 1

# Enable Location Services
/usr/bin/defaults write /var/db/locationd/Library/Preferences/ByHost/com.apple.locationd.notbackedup."$uuid" LocationServicesEnabled -int 1

# Make sure the permissions on the database file is correct
/usr/sbin/chown -R _locationd:_locationd /var/db/locationd
/bin/launchctl load /System/Library/LaunchDaemons/com.apple.locationd.plist

# Set time zone to update automatically
/usr/bin/defaults write /Library/Preferences/com.apple.timezone.auto Active -bool true

# Set network time to on
/usr/sbin/systemsetup -setusingnetworktime on > /dev/null 2>&1

exit 0

Le script de Tim Kimpton fonctionne si l’un fonctionne en tant que superutilisateur. C'est-à-dire qu'avant d'exécuter l'une quelconque de ces commandes shell, faites-vous le premier root ou superutilisateur du shell. Mes services de localisation sont maintenant activés.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.