موقع الأساسية - تراجع, موقع التخزين المؤقت و البدائل

StackOverflow https://stackoverflow.com/questions/2564835

  •  23-09-2019
  •  | 
  •  

سؤال

لدي بعض الأسئلة حول موقع الأساسية.

1) يجب على المستخدم رفض الإذن بلدي التطبيق لاستخدام موقع الأساسية أو الجوهرية الموقع غير متوفر لسبب ما ، هل هناك خطة بديلة ؟ (لغة الجهاز ، على سبيل المثال؟)

2)هل يمكنني ذاكرة التخزين المؤقت مكان وجود الجهاز في المرة القادمة ؟ هل الأساسية الموقع هل هذا نفسه ؟

3)أنا حقا بحاجة إلى وقت غروب الشمس في المنطقة خلال منتصف موسم الربيع و لدي وظيفة أن تفعل ذلك مرة واحدة لدي خطوط الطول والعرض من الجهاز.ربما أنا يمكن أن تجعل مجرد افتراض حول الوقت على أساس اللغة ؟ (على سبيل المثال:في الولايات المتحدة تتحمل ما يقرب من 7:00 مساء.)

تحرير:

أنا حقا أحاول لحساب غروب الشمس في منطقة المستخدمين على التطبيق.أن تفعل شيئا مع الخريطة.أنا أفكر في التسلسل التالي من الأحداث:

  • تحقق من موقع الأساسية توافر.إذا كان الجواب نعم ، واستخدامها وتخزينها في NSUserPreferences.إذا كان موقع الأساسية غير متوفرة ، fallbacks.
  • التحقق من تخزين الموقع.إذا كان تخزين استخدامه.إذا لم تذهب...
  • التحقق من المستخدم اختيار الوقت.
هل كانت مفيدة؟

المحلول

1) بالمعنى الدقيق للكلمة ، إذا كان المستخدم لا يسمح باستخدام CoreLocation أو إذن إذا أعطيت ولكن CoreLocation غير متوفرة ولا يوجد أي تراجع في الحصول على موقع المستخدم مثل خطوط العرض والطول الزوج.باستخدام لغة قد لا يصلح في جميع الحالات.الأول, وسوف أعطيكم تقريبي والتي قد تكون بعيدة عن الواقع.ولكن الأمر متروك لكم للحكم على ما إذا كان هذا التقارب هو موافق على التطبيق الخاص بك.علاوة على ذلك, هناك بعض المستخدمين باستخدام لغة مختلفة من ذات البلد.و لا يوجد لديك ضمان أن الناس السفر إلى الخارج ضبط التاريخ/الوقت في كل مرة.

2) Core موقع مخابئ بشكل افتراضي آخر موقع تم استردادها من وحدة نظام تحديد المواقع.ومع ذلك ، من أجل الناس السفر إلى الخارج هذا مؤقتا الموقع سيكون بالتأكيد خطأ (حتى بالنسبة للأشخاص السفر فقط على بعد بضعة أميال) ، وبصفة عامة ، يجب تجاهل القيمة المخزنة مؤقتا وتوطين مرة أخرى على المستخدم في كل مرة.أنا أفهم أن الناس يسافرون داخل بلدهم وهذا لن (عادة) خلق مشاكل كبيرة.ولكن ذلك يعتمد فقط على البلاد:السفر داخل إيطاليا لن تغير الوقت ، ولكن السفر في جميع أنحاء الولايات المتحدة قد تتغير مع الوقت تصل إلى 3 ساعات.

3) أقترح أن تحاول استخدام الأساسية في الموقع و في حالة حدوث مشاكل ، ببساطة نطلب من المستخدم إدخال له/لها بالتوقيت المحلي أو الموقع (المدينة ينبغي أن يكون كافيا لهذا الغرض الخاص).إذا اخترت أن تسأل عن موقع المستخدم ، ثم يمكنك الحصول على المقابلة خط العرض/خط الطول الزوج ولكن هذا سيتطلب عمل شبكة اتصال.

نصائح أخرى

2) من المستندات على الإنترنت عن CLLocationManager:

موقع الخدمة بإرجاع موقع الأولية في أسرع وقت ممكن ، والعودة المعلومات المخزنة مؤقتا عندما تكون متاحة.

يمكنك التحقق من CLLocation الزمني لمعرفة إذا كان مؤقتا قيمة أو لا.

3) إذا كنت ترغب في استخدام لغة أولية TZ التقريب ، تذكر أن مستخدمي السفر, ولا يجوز إعادة تعيين الإعدادات المحلية فورا.يمكنك الحصول على الحالية TZ كائن مع:

[NSTimeZone localTimeZone]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top