2012-02-02 49 views
1

我的軟件依賴於與外部服務器同步。我想以編程方式檢查用戶的計算機(Mac OS X 10.5+)是否按照Date &時間系統首選項面板中的複選框自動設置日期和時間。如何以編程方式確定用戶是否將Mac設置爲「自動設置日期和時間」?

如果未選中此設置,我的軟件將提醒用戶我的軟件存在潛在問題。

我想象有一種方法可以使用Cocoa庫,或者我的軟件可以打開和閱讀的plist文件。

回答

1

我剛測試過。如果複選框被選中,則運行ntpd。否則它不會運行。所以只需檢查是否ntpd正在運行。

您可以通過炮擊了以ps -ef和輸出檢查一個/usr/sbin/ntpd過程,也可以使用任意數量的其他方法來檢測它的存在直接檢查:

  • 運行ntpq -c lpeers併爲您成功返回狀態
  • 請與netstat -an或相當於看看是否有被UDP端口123
  • 傾聽自己發送一個UDP包到127.0.0.1端口123,看看是否能成功。
相關問題