كيفية الحصول على استجابة المستخدم عند المطالبة الأساسية الموقع ؟

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

سؤال

عند تثبيت التطبيق على اي فون يسأل عن الموقع الحالي مع الخيارات "لا تسمح" و "موافق" في تنبيه.كيف يمكنني معرفة الخيار الذي تم اختياره ؟ أنا أيضا أريد أن تظهر هذا الخيار مرة واحدة فقط.إذا اختار المستخدم للسماح موقعها الحالي ، أريد الجهاز تلقائيا الحصول على موقع في الخلفية.

هل كانت مفيدة؟

المحلول

إذا نفى المستخدم الوصول إلى ثم يحصل دعا CLLocationManager طريقة مندوب didFailWithError: خدمة الموقع:

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
    if (error.code ==  kCLErrorDenied){
            // User denied access to location service       
    }
}

نصائح أخرى

وحدة التحكم الخاصة بك ينبغي أن تنفذ CLLocationManagerDelegate البروتوكول.وهذا ما يحدد اثنين من الأساليب التي سوف تحتاج إلى تنفيذ ما يلي:

  1. – locationManager:didUpdateToLocation:fromLocation:
    في هذه الطريقة يمكنك وضع التعليمات البرمجية الخاصة بك للتعامل مع تحديثات الموقع.

  2. – locationManager:didFailWithError:
    في هذه الطريقة يمكنك وضع لك رمز للتعامل مع المستخدم إنكار طلبك ، أو التحديثات الفشل.

بمجرد أن يقوم المستخدم يسمح لك استخدام الموقع ، فلن تتم مطالبتك مرة أخرى إلا الخروج من التطبيق.ليس هناك طريقة لمنع الهاتف من دفع المستخدمين في كل مرة بدء تشغيل التطبيق على الرغم من.

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