My project is working perfectly on any iphone, but when I try to run it on any ipad model I get the following error while defining the mapView.
var mapView = NMAMapView() ---> EXC_BAD_ACCESS (code=1, address=0x18)
Edit: Device is ipadPro 10.5, iOS v12.1, HEREMaps (3.9.0) installed with cocoapods, tried both on simulator and real device.
This is not a "real" solution but it has solved the same issue for me.
In my project's scheme there was a specific "Application Language" selected because I was debugging it.
Removing this setting, the NMAMapView starts working again.
I think that it's related to the Permission Location Access alert, but it's not reproducible bug (I tried with an empty project and in that case it doesn't happen)
UPDATE
I resolved. In my case was related to Location Access authorizations. In certain situations my NMAPView was instatiated before asking the authorization for Location Access and this caused the crash.
I upgraded to xcode 6, compiled a new app, discovered that the geo location is not working, and am searching for a work around.
There is no option in the phone's settings for the newly compiled app to choose a privacy/location services option "Never" or "always.
The older apps compiled in xcode5 still have this option.
UPDATE
Problem solved. Compiled in BT 3.0
- Added this code in BT_screen_customURL.m under the //appDelegate comment (line 64)
if ([appDelegate.rootLocationMonitor.locationManager respondsToSelector:#selector(requestAlwaysAuthorization)])
[appDelegate.rootLocationMonitor.locationManager requestAlwaysAuthorization];
Added these as string messages to info.plist
NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription
Additonal informaton: https://www.buzztouch.com/forum/thread.php?tid=DA308929DBC29D1DB83B7A8¤tPage=1
Also, the link provided by Alberto below was helpful.
Your app is write in Objective C?
add the following lines:
kCLAuthorizationStatusAuthorizedAlways <- For background battery-killers.
kCLAuthorizationStatusAuthorizedWhenInUse <- For sensible apps.
in your plist
For more information: http://www.splinter.com.au/2014/09/14/ios8-corelocation/
Best,
Alberto
For 5.0, i use the clgeocoder and clplacemark, but i get "1 stockton street" everytime. I believe 1 stockton st is the address of an apple store in s.f. The Mk classes work for the same program for younger version simulators.
Why is the 5.0 simulator defaulting to the store's location?
Check out the Location Simulation section in the release notes for Xcode 4.2
You can also simulate movement using a GPX file, check this out Simulate Location including movement in Xcode 4.2 / iOS5
Earlier versions of iOS simulator have no location while iOS 5 Simulator have the ability to simulate location (note the location arrow at the bottom of xCode screen). I don't know how you simulate location changes in your code, but it may happen, that simulator activity interrupts your location changes chain.
I want to get the current location, but instead I get an error.
This is a snippet of my view controller.
- (void)viewDidLoad {
self.locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray<CLLocation *> *)locations {
// I would get the latest location here
// but this method never gets called
}
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
NSLog(#"didFailWithError: %#", error);
}
I'm expecting the delegate method locationManager:didUpdateLocations: to get called, but instead, only locationManager:didFailWithError: gets called, and prints this:
didFailWithError: Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
If you are using the simulator:
Press command + shift + , in Xcode to open the scheme editor
Select the Run scheme
Go to the Options tab
Check ✅ Allow Location Simulation
Select a Default Location in the dropdown
Selecting None as your Default Location may have caused the problem.
Check that you actually have a valid WiFi and 3G connection
...if you do, then:
Go to settings and reset your location services
Reset your network settings
This should take care of that issue. It is device/network related not app related. It's annoying especially if your app is dependent on location services and the device is WiFi only and people give negative ratings on the AppStore... Pardon me, I'm getting a bit emotional there.
Simply ignore this error and wait for more updates or a different error.
The docs for the location manager say that this error is temporary. It's letting you know that it failed to immediately retrieve a location, but it continues to try. "In such a situation, you can simply ignore the error and wait for a new event." Which is a really boneheaded way to use a method named locationManager:didFailWithError: - Thanks Apple!
Apple Documentation
Try restarting the simulator (assuming that's what you're using).
After trying everything else this worked for me.
A restart of the simulator didn't work for me.
I had to clear everything via "iOS Simulator" >> "Reset Content and
Settings....
I was getting this error on the simulator. Clicking the location button in the debugging panel and setting a location fixed the issue for me. (Ensure that the button is blue)
I have the same problem. I believe the possible explanations / fixes are covered in this SO post.
Changing the "Location" on the simulator worked for me.
Debug > Location > (Mine was checked None instead of City Bicycle Ride
e.g.)
In the simulator go to Settings > General > Reset > Reset Location & Privacy
Quit simulator and run app again
Assuming that you are using the simulator, you can to Debug -> Location and set a location.
If you have none selected you will have this error.
If you are using a custom location make sure you have the long and lat the correct way, i had it reversed and wasted 3 hours before i realised...
I have see the problem before,there is a way to solve it,but it can only work one time.If you want to run the project again and you need to repeat the solution each time.
1.In Xcode,Product -> Scheme -> Edit Scheme,then cancel the "Allow Location Simulator".
2.To the iOS Simulator and reset Content and Setting.
3.Again to the Xcode,repeat the first step.
4.To the iOS Simulator and reset. Then it will work.
If you are using the Simulator, make sure the scheme allows location, and you picked a default location.
Issues like this can be resolved by setting location as "Apple". At least it works for testing purpose.
I have reseted contents and settings.
Removed data from derived data.
Restarted the Xcode, and Simulator and worked for me.
from the answer of #Mem and many others thanks
For returned devs :) Just select "Debug->Location->Freeway Drive" from the Simulator menu. If still problem then try after doing "Simulator->Reset Content and Settings" form the simulator menu. This helped me once with the same issue. Some time simulator location is set to "Custom location" due to which its not detecting anything.
Try in device. Sometimes simulator fails to take your location.
Go to home in simulator
home ->Settings ->Privacy ->Locations -> select the app and choose always
when adding permission Privacy - Location When In Use Usage Description in the info.plist it was solved for me
When I call CodeModuleManager.deleteModuleEx() to delete a Module, the return value is CodeModuleManager.CMM_OK_MODULE_MARKED_FOR_DELETION using the simulator, but the return value is CodeModuleManager.CMM_OK when I run same application on device. The device is a 9700 and the Platform is 5.1.0.121.
i think after deletion reset is required. if you are not doing already,
add this code also.
if (CodeModuleManager.isResetRequired())
CodeModuleManager.promptForResetIfRequired();