كيفية الحصول على استجابة المستخدم عند المطالبة الأساسية الموقع ؟
-
06-07-2019 - |
سؤال
عند تثبيت التطبيق على اي فون يسأل عن الموقع الحالي مع الخيارات "لا تسمح" و "موافق" في تنبيه.كيف يمكنني معرفة الخيار الذي تم اختياره ؟ أنا أيضا أريد أن تظهر هذا الخيار مرة واحدة فقط.إذا اختار المستخدم للسماح موقعها الحالي ، أريد الجهاز تلقائيا الحصول على موقع في الخلفية.
المحلول
إذا نفى المستخدم الوصول إلى ثم يحصل دعا CLLocationManager طريقة مندوب didFailWithError:
خدمة الموقع:
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
if (error.code == kCLErrorDenied){
// User denied access to location service
}
}
نصائح أخرى
وحدة التحكم الخاصة بك ينبغي أن تنفذ CLLocationManagerDelegate
البروتوكول.وهذا ما يحدد اثنين من الأساليب التي سوف تحتاج إلى تنفيذ ما يلي:
– locationManager:didUpdateToLocation:fromLocation:
في هذه الطريقة يمكنك وضع التعليمات البرمجية الخاصة بك للتعامل مع تحديثات الموقع.– locationManager:didFailWithError:
في هذه الطريقة يمكنك وضع لك رمز للتعامل مع المستخدم إنكار طلبك ، أو التحديثات الفشل.
بمجرد أن يقوم المستخدم يسمح لك استخدام الموقع ، فلن تتم مطالبتك مرة أخرى إلا الخروج من التطبيق.ليس هناك طريقة لمنع الهاتف من دفع المستخدمين في كل مرة بدء تشغيل التطبيق على الرغم من.