Can't retrieve location in Flutter by geolocator
803
Solution 1
I believe the problem can be fixed by changing the location settings on the iOS simulator. To do this:
- check the App menu bar of the iOS simulator. Click on 'Features' and then on 'Location'.
- change the Location from 'None' to a Custom Location, Apple or any other location that you wish.
- Run your application again.
Solution 2
I also ran into this problem and I had already set my simulator's location. I resolved the issue by changing location preferences on my Mac. System Preferences -> Security & Privacy -> Enable Location Services (I enabled for both Chrome and Visual Studio Code).
Author by
Assem Salama
Updated on December 30, 2022Comments
-
Assem Salama over 1 year
I'm developing a flutter app and and I made a class that retrieve current location using geolocator package and debugging by iOS Simulator and it doesn't retrieve any data. The icon of the location services just appears as hollow icon and no data is recieved.
Location class:
import 'package:geolocator/geolocator.dart'; class LocationServices { double latitude; double longitude; Future<void> getCurrentLocation() async { try { Position position = await Geolocator() .getCurrentPosition(desiredAccuracy: LocationAccuracy.best); latitude = position.latitude; longitude = position.longitude; print(latitude); print(longitude); } catch (e) { print(e); } } }
Initstate which the function is called in:
@override void initState() { // TODO: implement initState super.initState(); _animationController = AnimationController( vsync: this, duration: Duration(seconds: 4), ); _opacity = Tween<double>(begin: 0.0, end: 1).animate(_animationController); _animationController.forward(); NetworkManager.checkConnectivity(); // apiServices.getPrayerTimes(); locationServices.getCurrentLocation(); }
Info.plist file
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>$(DEVELOPMENT_LANGUAGE)</string> <key>CFBundleExecutable</key> <string>$(EXECUTABLE_NAME)</string> <key>CFBundleIdentifier</key> <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>muslim_2b</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>$(FLUTTER_BUILD_NAME)</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>$(FLUTTER_BUILD_NUMBER)</string> <key>LSRequiresIPhoneOS</key> <true/> <key>UILaunchStoryboardName</key> <string>LaunchScreen</string> <key>UIMainStoryboardFile</key> <string>Main</string> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>UISupportedInterfaceOrientations~ipad</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortraitUpsideDown</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> <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> </dict> </plist>
-
Syed Irfan Hussaini almost 3 yearsany error returns back by catch method ?
-
-
Yogi Arif Widodo almost 2 yearsits work !!! last year i didnt turn on but its work, now i got problem with nothing exception or error , you saved my life...