2012-08-17 22 views
13

आईओएस में, मुझे वास्तविक समय (यूटीसी) पता होना चाहिए, डिवाइस के समय नहीं। दूसरे शब्दों में, उपयोगकर्ता के लिए समय या तारीख के साथ छेड़छाड़ करना संभव नहीं होना चाहिए।आईओएस में वास्तविक समय और दिनांक निर्धारित करने का कोई तरीका है (डिवाइस का समय नहीं)

नेटवर्क कनेक्शन की आवश्यकता वाले किसी भी चीज को अच्छा नहीं है (इसलिए टाइम सर्वर तक पहुंच एक विकल्प नहीं है)।

AFAIK, वहाँ इसे प्राप्त करने के 2 सैद्धांतिक तरीके हैं:

  • उपयोग जीपीएस उपग्रह संकेत
  • से टाइमस्टैम्प वाहक से वर्तमान समय जाओ

समस्या यह जानकारी है कि है आईओएस में किसी भी एपीआई द्वारा खुलासा नहीं किया गया है।

क्या कोई और तरीका है?

+0

साथ सेट कर दिया जाता है क्यों यह सटीक समय अपनी परियोजना के लिए बहुत महत्वपूर्ण है? अगर आपको मेरी पूछताछ नहीं है। –

+0

समय पंजीकरण। यह छेड़छाड़ का सबूत होना चाहिए। –

+0

कोई फर्क नहीं पड़ता कि आपको क्या विकल्प मिल रहा है, अगर फोन जेलब्रोकन है तो सभी दांव बंद हैं। –

उत्तर

1

आप सेकंड पर एक नजर डाल सकते हैं FromGMTForDate: और सेकंड्स NSTimeZone में FromGMT। यदि डिवाइस के समय में जीएमटी ऑफ़सेट बढ़ता/घटता है, तो ये आपके टाइमस्टैम्प को जीएमटी (और शायद यूटीसी में परिवर्तित करने) को सही करने का एक तरीका प्रदान करता है।

+1

वह एपीआई अभी भी डिवाइस की घड़ी का उपयोग करता है (जैसा उपयोगकर्ता द्वारा सेट किया गया है)। यह वास्तविक यूटीसी समय निर्धारित करने का एक तरीका प्रदान नहीं करता है। –

2

अधिकतर समाधान जो आपको संभवतः मिल सकता है (समय जानकारी तक पहुंचने के लिए कोरलोकेशन से जीपीएस डेटा प्राप्त करने सहित) त्रुटिपूर्ण हैं क्योंकि वे समय के समय तक पहुंचने के लिए वास्तविक डिवाइस पर निर्भर करते हैं। आपको एक समय सर्वर से कनेक्ट करने की आवश्यकता होगी (मैं एनटीपी सर्वर की जांच करने का सुझाव दूंगा)। मैं कोर टेलीफोनी ढांचे को देख रहा था और कुछ भी नहीं मिला जो नेटवर्क समय प्रदान करेगा। आप एक बग रिपोर्ट भरना चाहेंगे और समय शामिल करने के लिए कक्षाओं में से किसी एक को विस्तारित करने के लिए सेब का अनुरोध कर सकते हैं।

0

आप कच्चे जीपीएस डेटा और locationManager:didUpdateLocations में CLLocation की टाइमस्टैम्प संपत्ति के लिए नहीं कर सकते हैं: सिस्टम घड़ी

बस जिज्ञासा से बाहर
संबंधित मुद्दे