рдХреЛрдб рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдореЛрджрди рдХрд░рддрд╛ рд╣реИ, рдХреЛрдб рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ:
PlatformException (PERMISSION_DENIED, рд╕реНрдерд╛рди рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдБрдЪ рдЕрд╕реНрд╡реАрдХреГрдд, рд╢реВрдиреНрдп)
рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдмрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд╣реА рд╕реНрдерд┐рддрд┐ рддреБрд░рдВрдд рд╕рдВрд╡рд╛рдж рдпрд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреА рд╣реИред
рд╕реНрдерд┐рддрд┐ рд╡рд╛рдкрд╕ рдХрд░ рджреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕реНрдерд┐рддрд┐ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдореЛрджрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдлреЗрдВрдХреА рдЬрд╛рддреА рд╣реИред
import 'package:geolocator/geolocator.dart';
try{
position = await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
}
catch(error)
{
print("error in geolocation: $error"); //error in geolocation: PlatformException(PERMISSION_DENIED, Access to location data denied, null)
print("position: $position"); // position: null
print("retrying"); // retrying
try{
position = await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
}
catch(error)
{
await printGeoStatus(5);
print("2nd error in geolocation $error");
}
print("final position: $position"); //flutter: final position: Lat: 59.xyz, Long: 17.xyz
}
рд╕реНрдкрдВрджрди рд╕рдВрд╕реНрдХрд░рдг: "рдЪреИрдирд▓ рджреЗрд╡, v1.5.8"
рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рд╕рдВрд╕реНрдХрд░рдг: ^ 4.0.2
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо:
@FlashJonas рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣рдордиреЗ geolocator
рдкреНрд▓рдЧрдЗрди (рд╕рдВрд╕реНрдХрд░рдг 5.0.0) рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░рд┐рдлреИрдХреНрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЕрднреА рднреА рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
@mvanbeusekom рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА 5.0.0 рдореЗрдВ рдореМрдЬреВрдж рд╣реИ
рдмрд╕ AppBrewery рдкрд╛рдареНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдХреА рдЦреЛрдЬ рдХреАред
рдореИрдВрдиреЗ рдкреИрдХреЗрдЬ рдбреЙрдХреНрд╕ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рдЕрдкрдиреА рдкреНрд▓рд┐рд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ 3 рдХреБрдВрдЬреА рдЬреЛрдбрд╝реАрдВ:
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to location when open.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access to location when in the background.</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>This app needs access to location when open and in the background.</string>
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдХреЙрд▓ рдХрд░реЗрдВ
Position position = await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.low);
рдЕрдиреБрдорддрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдХреЗрдд рджреЗрдВ (3 рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде):
рдпрджрд┐ рдореИрдВ "рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХреЗрд╡рд▓" рджрдмрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдЯрд░реНрдорд┐рдирд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ:
[VERBOSE-2: ui_dart_state.cc (148)] рдЕрдЦрдВрдбрд┐рдд рдЕрдкрд╡рд╛рдж: PlatformException (PERMISSION_DENIED, рд╕реНрдерд╛рди рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЕрд╕реНрд╡реАрдХреГрдд, рдЕрд╢рдХреНрдд)
0 рдЬрд┐рдУрд▓реЛрдХреИрдЯрд░._рд╣реИрдВрдбрд▓рдЗрдиреНрд╡рд╛рд▓рд╛рдЗрдбрдкрд┐рди (рдкреИрдХреЗрдЬ: рдЬрд┐рдпреЛрд▓реЛрдХреИрдЯрд░ / рдЬрд┐рдпреЛрд▓реЛрдХреИрдЯрд░.рдЖрд░реНрдЯ: 191: 7)
1 рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░.рдЧреИрдЧрд╕рдВрдХрд▓реНрдк (рдкреИрдХреЗрдЬ: рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ / рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ред рдХрд╛рд░реНрдЯ: 102: 7)
2 _LadingScreenState.getLocation (рдкреИрдХреЗрдЬ: рдХреНрд▓рд┐рдорд╛ / рд╕реНрдХреНрд░реАрди / рд▓реЛрдбрд┐рдВрдЧ_рд╕реНрдХреНрд░реАрдиред рдбрд╛рд░реНрдЯ: 13: 10)
3 _LadingScreenState.buildред
(рдкреИрдХреЗрдЬ: рдХреНрд▓рд┐рдорд╛ / рд╕реНрдХреНрд░реАрдиреНрд╕ / рд▓реЛрдбрд┐рдВрдЧ / рд╕реНрдХреНрд░реАрди_рдбрд╛рд░реНрдЯ: 23: 13) 4 _InkResponseState._handleTap (рдкреИрдХреЗрдЬ: рд╕реНрдкрдВрджрди / src / рд╕рд╛рдордЧреНрд░реА / ink_well.dart: 511: 14)
5 _InkResponseState.buildред
(рдкреИрдХреЗрдЬ: рд╕реНрдкрдВрджрди / src / рд╕рд╛рдордЧреНрд░реА / ink_well.dart: 566: 30) 6 GestureRecognizer.invokeCallback (рдкреИрдХреЗрдЬ: рд╕реНрдкрдВрджрди / src / рдЗрд╢рд╛рд░реЗ / рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ред рдбрд╛рд░реНрдЯ: 166: 24)
7 TapGestureRecognizer._checkUp (рдкреИрдХреЗрдЬ: рд╕реНрдкрдВрджрди / src / рдЗрд╢рд╛рд░реЗ / рдЯреИрдкред рдХрд╛рд░реНрдЯ: 240: 9)
8 TapGestureRecognizer.handlePrimaryPointer (рдкреИрдХреЗрдЬ: рд╕реНрдкрдВрджрди / src / рдЗрд╢рд╛рд░реЗ / рдЯреИрдкред рдХрд╛рд░реНрдЯ: 177: 9)
9 <тАж>
рджреВрд╕рд░рд╛ рдкреНрд░реЗрд╕ рдареАрдХ рд╣реИ рдФрд░ рд╕реНрдерд┐рддрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд┐рдирд╛ рд▓реЙрдЧ рдЗрди рд╣реИ:
рд╕реНрдкрдВрджрди: рд▓реИрдЯ: 37.785834, рд▓рдВрдмреА: -122.406417
рдХреЛрдб:
рдЕрднреА рднреА рдореЗрд░реЗ iPhone 5s рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИ, 12.2, рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ 5.1.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ред
* рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (рд╕реНрдкрдВрджрди рдЪреИрдирд▓ рджреЗрд╡, v1.8.4)
// Called after closing welcome alert
Future getFirstLocation() async {
Position position;
try {
position = await Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
} catch (error) {
print("getfirstlocation error 1");
try {
position = await Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
} catch (error) {
print("error in geolocation $error");
}
}
print("getfirstlocation position: $position");
if (position != null) {
// send to database
}
}
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдЪрд▓рд╛рдиреЗ рд╕реЗ рд▓реЙрдЧ:
flutter: getfirstlocation error 1
flutter: getfirstlocation position: Lat: 59.xxxx, Long: 17.yyyy
рдореИрдВ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВ:
рдПрдВрдбреНрд░реЙрдЗрдб (рд╡рдирдкреНрд▓рд╕ 2) - рдПрдВрдбреНрд░реЙрдЗрдб 8.1.0 - рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ 5.1.2
(рд╕реНрдерд╛рди рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИ)
2019-08-15 16:54:22.606 926-1110/system_process E/InputDispatcher: channel '569829a de.paschke.coffeebreak/de.paschke.coffeebreak.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
2019-08-15 16:54:56.808 14735-14766/? E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(PERMISSION_DENIED, Access to location data denied, null)
#0 Geolocator._handleInvalidPermissions (package:geolocator/geolocator.dart:207:7)
#1 Geolocator.getLastKnownPosition (package:geolocator/geolocator.dart:146:7)
<asynchronous suspension>
#2 LocationService.getLastKnownLocation (package:coffee_break/services/location_service.dart:24:51)
<asynchronous suspension>
#3 UserStoreBase.checkLastLocation (package:coffee_break/stores/user_store.dart:125:36)
рддреАрдиреЛрдВ рдЕрдиреБрдорддрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рдЕрдЧрд░ рдореИрдВ рдХреЗрд╡рд▓ NSLocationWhenInUseUsageDescription рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдРрдк рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдореЗрд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдорд╛рди рдпрд╣ рд╣реИ рдХрд┐ рддреАрдиреЛрдВ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдРрдк рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдХреА рдорд╛рдВрдЧ рдХреА рдЬрд╛рддреА рд╣реИред рдпреВрдЖрдИ рд╡реНрдпрд╡рд╣рд╛рд░ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЕрдиреБрдорд╛рди рд╣реИред рд╡реИрд╕реЗ рднреА, рдпрджрд┐ рдЖрдк рд╕рд┐рд░реНрдл NSLocationWhenInUseUsageDescription рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЕрдиреНрдп рджреЛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
рдПрдХ рд╣реА рдореБрджреНрджрд╛ :( рд╕реНрдкрдВрджрди рдХреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд┐рд░ рдЪреИрдирд▓ рдкрд░ред
рдпрд╣ рдкреИрдХреЗрдЬ рдмреЗрдХрд╛рд░ рд╣реИ ...
рд╕рдорд╛рди рддреНрд░реБрдЯрд┐, рдПрдВрдбреНрд░реЙрдЗрдб 10 рдкрд░ рд╕реНрдкрдВрджрди рдХрд╛ рд╕рдмрд╕реЗ рд▓рдВрдмрд╛ рд╕рдВрд╕реНрдХрд░рдгред
рдореЗрд░реЗ рд╕рд╛рде рднреА рд╡рд╣реА рджрд┐рдХреНрдХрдд рд╣реИ!
рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддреЛ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рд▓реЛрдЧ рдЕрднреА рднреА рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВрдиреЗ рд╕реНрдкрдВрджрди рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдЙрд╕реА рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдЖрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рдХрджрдо рдереЗред
рдЬрдм рдореИрдВ iOS рдкреНрд░реЙрдореНрдкреНрдЯ рд╕реЗ "рдХреЗрд╡рд▓ рдРрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп" рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдлрд╝реНрд▓рдЯрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдорд┐рд▓рддрд╛ рд╣реИ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рджреВрд╕рд░реА рдмрд╛рд░ рдЬрдм рдореИрдВ рдРрдк рд╕реЗ рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕рд╣реА рд╕реНрдерд╛рди рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИред
PS рдирд╡реАрдирддрдо 5.3.2+2
рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ
рдореИрдВ рдЗрд╕ рд╕рдордп рдФрд░ рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА (рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП # 430 рджреЗрдЦреЗрдВ) рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛ред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ iOS рд╕рд╛рдЗрдб рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдЕрдм Android рдУрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 6.0.0 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рджреЗрд░ рд╣реЛ рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рднреА рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрд╣рд╛рдВ рдРрдк рдЖрдИрдУрдПрд╕ рдореЗрдВ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдорд╛рдВрдЧ рд░рд╣рд╛ рдерд╛ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреБрдорддрд┐ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдкреВрдЫрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХреНрдпреЛрдВ рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рдХреЛрдб рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореБрдЭреЗ "location_permissions" рдирд╛рдо рдХрд╛ рдПрдХ рдкреИрдХреЗрдЬ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдиреБрдорддрд┐ рдорд╛рдВрдЧрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдЖрдпрд╛рдд ' рдкреИрдХреЗрдЬ: location_permissions / location_permissions.dart ';
рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдЕрдиреБрдорддрд┐ рдорд╛рдВрдЧрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред (рдЕрдкрдиреЗ рдРрдк рдХреЗ рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдкрд░ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред)
<strong i="16">@override</strong>
void initState() {
....
if (Platform.isIOS) {
location_permission();
}
....
}
рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рджреЛ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ
рд╢реВрдиреНрдп рд╕реНрдерд╛рди_рдкреНрд░рд╡реЗрд╢ () async {
рдЕрдВрддрд┐рдо PermissionStatus рдЕрдиреБрдорддрд┐ = рдЗрдВрддрдЬрд╛рд░ _getLocationPermission ();
рдЕрдЧрд░ (рдЕрдиреБрдорддрд┐ == PermissionStatus.granted) {
рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐
рд╡рд╛рдВрдЫрд┐рдд
// Use the position to do whatever...
}
}
рднрд╡рд┐рд╖реНрдп
рдЕрдВрддрд┐рдо PermissionStatus рдЕрдиреБрдорддрд┐ = рд╕реНрдерд╛рдирдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ ()
.checkPermissionStatus (рд╕реНрддрд░: LocationPermissionLevel.location);
if (permission != PermissionStatus.granted) {
final PermissionStatus permissionStatus = await LocationPermissions()
.requestPermissions(
permissionLevel: LocationPermissionLevel.location);
return permissionStatus;
} else {
return permission;
}
}
рдпрд╣реА рд╣реИ рдЕрдм рдЖрдкрдХреЛ iOS рдРрдк рдореЗрдВ рдПрдХ рдкреЙрдкрдЕрдк рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕реНрдерд╛рди рдХреА рдЕрдиреБрдорддрд┐ рдорд╛рдВрдЧреЗрдЧрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдЗрд╕ рд╕рдордп рдФрд░ рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА (рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП # 430 рджреЗрдЦреЗрдВ) рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛ред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ iOS рд╕рд╛рдЗрдб рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдЕрдм Android рдУрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред