2015-05-29 39 views
2

有沒有辦法檢查「日期和時間」設備設置是否在Swift中設置爲自動? 如果有的話,是否有可能讓用戶切換到所需的設置(自動)檢查iOS中的設備日期設置是否爲自動設置

+0

按我所知,沒有辦法從設備設置中找到它。如果您使用任何服務器的API,則可以將設備時間與服務器時間進行比較。如果這有任何不匹配,那麼你可以向用戶顯示警報或彈出窗口。 –

+0

可能重複的[iOS的 - 如何編程設置日期和時間](http://stackoverflow.com/questions/15572339/ios-how-to-set-the-date-and-time-programatically) – Vizllx

+0

好的,這不就像要求在位置許可? – MonkeyBizz

回答

1

iOS的結構化方式是,您的應用程序位於沙箱中,只能在公共場合與系統通信Apple與開發人員社區共享的API。一些公共API可以像加速度計一樣自由使用,但其他公共API需要用戶許可,例如位置信息。不幸的是,日期和時間設置API不公開,所以你不能玩日期和時間設置。

有很多關於以用戶防篡改方式獲取時間的文章。底線是沒有真正的100%防篡改解決方案,但下面的代碼已經是保護大多數用戶不錯的一步。

#import <CoreLocation/CoreLocation.h> 

CLLocation* gps = [[CLLocation alloc] 
        initWithLatitude:(CLLocationDegrees) 0.0 
        longitude:(CLLocationDegrees) 0.0]; 
NSDate* now = gps.timestamp; 

許多其他資源,但看看這兩個:

+0

好的,謝謝,不好。必須使用som api:s來檢查當前的位置和時間。該應用程序不信任用戶;) – MonkeyBizz

+0

看看編輯瞭解更多關於不依賴系統時間的信息。 – Mika