أنا أستخدم ميزة البث لتحديثات الموقع في الوقت الفعلي وواجهت مشكلة. عندما يكون موقعي ثابتًا في المحاكي ، يعمل التحديث بشكل طبيعي ولكن عندما أقوم بتعيين الموقع للتحرك (محاكاة-> تصحيح-> الموقع-> تشغيل المدينة) ، يتم طرح استثناء:
[VERBOSE-2:shell.cc(184)] Dart Error: Unhandled exception:
PlatformException(ERROR_UPDATING_LOCATION, The operation couldn’t be completed. (kCLErrorDomain error 0.), null)
#0 _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:1112:29)
#1 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#2 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
يتم تحديث الموقع دون استثناء
var locationOptions =
LocationOptions(accuracy: LocationAccuracy.high, distanceFilter: 10);
geolocator.getPositionStream(locationOptions).listen((Position position) {
print("New pos update: $position");
if (position != null)
setState(() {
_position = position;
});
});
الإصدار: 2.1.1.1
برنامج:
لدي مشكلة مماثلة - استخدام البث لتحديثات الموقع في الوقت الفعلي وواجهت مشكلة. عندما يتم إصلاح موقعي في جهاز المحاكاة ، يعمل التحديث بشكل طبيعي. قم بتحديث الموضع من التصحيح / الموقع عدة مرات ويحدث هذا الخطأ
[VERBOSE-2: ui_dart_state.cc (148)] استثناء غير معالج: PlatformException (ERROR_UPDATING_LOCATION ، تعذر إكمال العملية. (خطأ kCLErrorDomain 0.) ، فارغ)
التكوين
باستخدام geolocator: "3.0.0"
iOS Simulator (12.1) والجهاز (12.1.4)
أنا بصدد التحقيق في هذا الأمر ، سيتم التحديث قريبًا.
يعمل بشكل صحيح على iOS simulator 10.1 ، 11.1
باستخدام - محاكاة-> تصحيح-> الموقع-> محرك الطريق السريع
فشل في 12.1
باستخدام - محاكاة-> تصحيح-> الموقع-> محرك الطريق السريع
PlatformException (ERROR_UPDATING_LOCATION ، تعذر إكمال العملية.
فشل مثال geolocator في 12.1
انا لدى نفس المشكله
حقيقي. يحدث حتى مع المثال المقدم.
مرحبًا ، أرى نفس المشكلة ، لكن بالنسبة لي حاولت "ركوب الدراجات في المدينة" أولاً ، وقد نجح ذلك! ولكن بعد ذلك فشلت عند التبديل إلى "إدارة المدينة" مع هذا الخطأ.
لذلك قد يكون City Bicycle Ride ملفًا شخصيًا يمكنك استخدامه في الوقت الحالي.
تحرير 1: والآن توقف وضع الدراجة عن العمل أيضًا!
تحرير 2: أدى إلغاء تثبيت التطبيق وإعادة السماح بالوصول إلى الموقع إلى إصلاح هذه المشكلة بالنسبة لي.
أنا أرى هذا أيضًا. لقد فعلت هذا كعمل حول:
StreamSubscription<Position> _positionStream;
void _streamLocation() {
// TODO: initialize _positionStream
_positionStream.onError((e) {
print("error streaming position: $e");
_disposePositionStream();
_streamLocation();
});
}
void _disposePositionStream() {
if (_positionStream != null) {
_positionStream.cancel();
_positionStream = null;
}
}
يبدو أن إعادة تشغيل البث تجعله يعمل الآن.
ملاحظة : هذه ليست الطريقة المثلى للتعامل مع هذا مع إلغاء _positionStream
بينما لا يزال قيد الاستخدام بواسطة onError
.
لا يزال هذا الخطأ يحصل على هذا الخطأ باستخدام مثال التطبيق
يبدو أن المنفرد يعمل ، على الرغم من أنه يتم الإبلاغ أحيانًا عن أنه فارغ ، إلا أن الدفق يفشل بعد بعض التحديثات.
PlatformException (ERROR_UPDATING_LOCATION ، تعذر إكمال العملية. (خطأ kCLErrorDomain 0.) ، فارغ)
التكوين (الآن)
باستخدام أداة تحديد الموقع الجغرافي: "5.1.1 + 1"
iOS Simulator (12.4) والجهاز (10.xx)
عن طريق اختبار هاك ..
الموقع
يعمل هذا بشكل موثوق على Simulator 12.4 و 10.3
تذكر المحاكي Debug ، يجب أحيانًا تشغيل الموقع عدة مرات قبل أن يتغير.
أفكار؟
تواجه نفس المشكلة بعد تحديث المكتبة إلى أحدث إصدار. بعد بعض الاختبارات ، وجدنا أن الاستثناءات تبدأ عند تشغيل WiFi ، إذا تم تمكين 3g ، فإنه يعمل بشكل صحيح. أي حلول لهذا؟
وجود مشكلة مماثلة. أحاول إكمال دورة من londonappbrewery. أحصل على الاستثناءات التالية! لا أعرف كيفية إصلاحه: /
شفرة:
عندما أضغط على الزر يظهر:
جاري تشغيل lib / main.dart على iPhone Xʀ في وضع التصحيح ...
تشغيل بناء Xcode ...
اكتمل بناء Xcode. 24.1 ثانية
مزامنة الملفات مع جهاز iPhone Xʀ ...
[VERBOSE-2: ui_dart_state.cc (148)] استثناء غير معالج: PlatformException (ERROR_UPDATING_LOCATION ، تعذر إكمال العملية. (خطأ kCLErrorDomain 0.) ، فارغ)
لقد حاولت أيضًا تشغيله على محاكي android (Pixel 3a API 28). لقد نجحت ولكن للأسف ، توفر إحداثيات غير صحيحة. الفرق في الإحداثيات كبير. مثل ، أحاول الحصول على موقع من باكستان وموقع عرضه في مكان ما في الولايات المتحدة الأمريكية.
واجهت نفس المشكلة ، الحل الخاص بي هو:
التصحيح -> الموقع ->
عندما راجعت هنا ، لم يتم تحديد "لا شيء" ولا "موقع مخصص" ، قمت بتحديد خيار كما تراه وعمل.
نرى هذا أيضًا لأجهزة iOS قيد الإنتاج على Sentry. أنا لا أستخدم تحديثات الموقع في الوقت الفعلي ، فقط مكالمات إلى getCurrentPosition
/ getLastKnownPosition
PlatformException: PlatformException(ERROR_UPDATING_LOCATION, The operation couldn’t be completed. (kCLErrorDomain error 0.), null)
File "message_codecs.dart", line 569, in StandardMethodCodec.decodeEnvelope
File "framework.dart", line 3919, in ComponentElement.mount
File "framework.dart", line 3101, in Element.inflateWidget
File "framework.dart", line 2904, in Element.updateChild
File "framework.dart", line 5127, in SingleChildRenderObjectElement.mount
File "framework.dart", line 3101, in Element.inflateWidget
File "framework.dart", line 2904, in Element.updateChild
File "framework.dart", line 3961, in ComponentElement.performRebuild
File "framework.dart", line 3738, in Element.rebuild
File "framework.dart", line 3924, in ComponentElement._firstBuild
File "framework.dart", line 4088, in StatefulElement._firstBuild
File "framework.dart", line 3919, in ComponentElement.mount
.
.
.
أفكار؟
الكود التالي يخلق نفس الخطأ بالنسبة لي:
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
class LoadingScreen extends StatefulWidget {
<strong i="6">@override</strong>
_LoadingScreenState createState() => _LoadingScreenState();
}
class _LoadingScreenState extends State<LoadingScreen> {
void getLocation() async {
Position position = await Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
print(position);
}
<strong i="7">@override</strong>
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: RaisedButton(
onPressed: () {
getLocation();
},
child: Text('Get Location'),
),
),
);
}
}
Android Studio 3.5.3
بناء # AI-191.8026.42.35.6010548 ، تم إنشاؤه في 15 نوفمبر 2019
JRE: 1.8.0_202-release-1483-b49-5587405 x86_64
JVM: خادم OpenJDK 64 بت VM بواسطة JetBrains sro
macOS 10.15.2
geolocator-5.1.5
location_permissions-2.0.3
إصدار الرفرفة: v1.13.5
يعمل على المحاكاة: Iphone 11 Pro Max 13.3
كما اقترح softronaut ، فإن تعيين الموقع في تطبيق المحاكاة سيؤدي إلى التخلص من الخطأ. لذلك ربما تساعد رسالة خطأ محسّنة. في حالتي ، كان الخطأ بسبب عدم تعيين موقع.
وجود مشكلة مماثلة. أحاول إكمال دورة من londonappbrewery. أحصل على الاستثناءات التالية! لا أعرف كيفية إصلاحه: /
شفرة:
عندما أضغط على الزر يظهر:
جاري تشغيل lib / main.dart على iPhone Xʀ في وضع التصحيح ...
تشغيل بناء Xcode ...
اكتمل بناء Xcode. 24.1 ثانية
مزامنة الملفات مع جهاز iPhone Xʀ ...
[VERBOSE-2: ui_dart_state.cc (148)] استثناء غير معالج: PlatformException (ERROR_UPDATING_LOCATION ، تعذر إكمال العملية. (خطأ kCLErrorDomain 0.) ، فارغ)0 StandardMethodCodec.decodeEnvelope (الحزمة: flutter / src / services / message_codecs.dart: 569: 7)
1 MethodChannel.invokeMethod (الحزمة: flutter / src / services / platform_channel.dart: 316: 33)
2 Geolocator.getCurrentPosition (الحزمة: geolocator / geolocator.dart: 103: 32)
3 _LoadingScreenState.getLocation (الحزمة: clima / screens / loading_screen.dart: 12: 10)
4 _LoadingScreenState.build. (الحزمة: clima / screens / loading_screen.dart: 22:13)
5 _InkResponseState._handleTap (الحزمة: flutter / src / material / ink_well.dart: 654: 14)
6 _InkResponseState.build. (العبوة: رفرفة / src / material / ink_well.dart: 729: 32)
7 GestureRecognizer.invokeCallback (الحزمة: رفرفة / src / الإيماءات / أداة التعرف. الجزء: 182: 24)
8 <…>
لقد حاولت أيضًا تشغيله على محاكي android (Pixel 3a API 28). لقد نجحت ولكن للأسف ، توفر إحداثيات غير صحيحة. الفرق في الإحداثيات كبير. مثل ، أحاول الحصول على موقع من باكستان وموقع عرضه في مكان ما في الولايات المتحدة الأمريكية.
تم إصلاحه باتباع محاكي iOS -> الميزات -> الموقع -> الموقع المخصص ...
يجب عليك تعيين موقع مخصص لك على جهاز المحاكاة ضمن الميزات> الموقع> الموقع المخصص
locati onManager: didUpdateLocations :
[إلغاء تخصيص CurrentLocationTask]
[LocationTask dealloc]
لقد اتبعت iOS Simulator -> الميزات -> الموقع -> الموقع المخصص والآن أتلقى الرسالة أعلاه. ما هذا؟
واجهت نفس المشكلة ، الحل الخاص بي هو:
التصحيح -> الموقع ->عندما راجعت هنا ، لم يتم تحديد "لا شيء" ولا "موقع مخصص" ، قمت بتحديد خيار كما تراه وعمل.
اضطررت إلى تعيين هذا الخيار عدة مرات الآن. لسبب ما بين الحين والآخر ، يعيد الإعداد ضبط نفسه. أي شخص يعرف لماذا هذا؟
تم التحديث ، هذا الآن في الميزات -> الموقع -> حدد خيارًا
حل في الإصدار 6.0.0
التعليق الأكثر فائدة
واجهت نفس المشكلة ، الحل الخاص بي هو:
التصحيح -> الموقع ->
عندما راجعت هنا ، لم يتم تحديد "لا شيء" ولا "موقع مخصص" ، قمت بتحديد خيار كما تراه وعمل.