heremaps / here-ios-sdk-examples

Objective-C and Swift projects using the HERE SDK for iOS.
MIT License
60 stars 56 forks source link

iOS 13 - Crash when creating a NMAMapView #121

Closed AgDP closed 4 years ago

AgDP commented 5 years ago

Hi!

I have an error using NMAMapView in iOS 13.

Captura de pantalla 2019-09-12 a las 13 24 41

This error happens only in iOS 13. The crash occurs in the simulator. In iOS 12 or 11 it works correctly. The version is "HEREMaps 3.12.2"

dashchak commented 5 years ago

Hi, we will support iOS 13 starting from HEREMaps 3.13, which is planned to release on October 1, 2019. Please double check NMAKit.framework contains Simulator arch and your console log does not have any SDK errors. Also, please use the latest Xcode 11 (GM Seed)

AgDP commented 5 years ago

Hi!

Thanks for quick answer.

I am working with XCode 11 GM. The SDK contains Simulator ARCH and I have no errors in the console.

With the same project running on iPhone X simulator - iOS 11 works correctly.

regards!

dashchak commented 5 years ago

Can you check if crash occurs for any of Github HERE sample projects with your environment?

AgDP commented 5 years ago

Hi!

Testing in XCode 11 GM - iPhone 11 Pro simulator, example MapEngineinitializationApp

Captura de pantalla 2019-09-12 a las 19 15 03

Captura de pantalla 2019-09-12 a las 19 17 05

I don't know if this can help you

regards

dashchak commented 5 years ago

I can not reproduce the crash in MapEngineinitializationApp Swift sample app on iPhone 11 Pro Simulator running iOS 13 for NMAKit 3.12.2. Have you run "pod install" or added NMAKit manually? Have you edited any default Xcode setting for MapEngineinitializationApp scheme?

dashchak commented 5 years ago

It is reproducible when project is run on Simulator with non-english System language. As a workaround try to reset Simulator, then change Mac OS system language to English and run your app.

AgDP commented 5 years ago

Hi! I put the OS in English and executed the sample project on simulator. I have this error in case it can help you:

2019-09-16 20:45:59.666821+0200 MapEngineinitializationApp[4700:86714] [Client] Synchronous remote object proxy returned error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service on pid 0 named com.apple.commcenter.coretelephony.xpc was invalidated." UserInfo={NSDebugDescription=The connection to service on pid 0 named com.apple.commcenter.coretelephony.xpc was invalidated.} 2019-09-16 20:45:59.666925+0200 MapEngineinitializationApp[4700:86842] [Client] Updating selectors failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service on pid 0 named com.apple.commcenter.coretelephony.xpc was invalidated." UserInfo={NSDebugDescription=The connection to service on pid 0 named com.apple.commcenter.coretelephony.xpc was invalidated.}

Same error in my project.

Regards

dashchak commented 5 years ago

Try this solution: https://stackoverflow.com/a/54692253/5940721

dashchak commented 5 years ago

The crash will be fixed starting from HEREMaps 3.13. Thanks for reporting the issue!

The root cause was in iOS behavioral change between 12 and 13 Simulators with non-English locale.

If you run: NSString *countryCode = [[NSLocale currentLocale] objectForKey:NSLocaleCountryCode] For some reason it returns nil in iOS 13 and actual value in iOS 12. We use country code to set geopolitical map view.

AgDP commented 5 years ago

Perfect! Thanks for your work!

buttifabio commented 4 years ago

The crash will be fixed starting from HEREMaps 3.13. Thanks for reporting the issue!

@dashchak is there a release date for HEREMaps 3.13?

starand commented 4 years ago

@buttifabio 3.13 SP1 should be released on Monday. The fix for this bug is already available in 3.13 Release (released 1st of Oct).

buttifabio commented 4 years ago

The last release of HEREMapsUI (2.1.2) has HEREMaps 3.12.2 dependency. I'm using CocoaPods and if I try with pod update HEREMaps to 3.13 it gives me an error because HEREMapsUI still depends from 3.12.2.

Do I need to wait for the next release of HEREMapsUI?

HERE-SDK-Support-Team commented 4 years ago

Yes, HEREMapsUI (MSDKUI) still depends on 3.12. please wait for the next release. Integration is not public yet, once available it will be announced on the MSDKUI release page.

Azat92 commented 4 years ago

Hi, I'm using version 3.13.3 and still have this crash, even on iOS 12. Since issue is closed, does it mean that it was fixed?

dashchak commented 4 years ago

@Azat92 The Simulator locale crash issue should be fixed in 3.13.3. Probably you found different one. Please specify more details. Do you use MSDKUI ?

Azat92 commented 4 years ago

@dashchak I'm not sure what MSDKUI is. I am using cocoapods with pod HEREMaps. From time to time I see the crash on a line where I initialize a NMAMapView, exact the same as here on top of the thread. Last time I got this crash during debugging session on iPhone XS Max running iOS 12.4

HERE-SDK-Support-Team commented 4 years ago

@Azat92 MSDKUI is an open source framework that offers pre-built UIs on top of HereMaps / HERE SDK for iOS (Premium). So, it seems the crash is not related to this framework. This should help to narrow this down. Thanks for sharing.

We can reopen this issue if we know better if this is a new issue or a regression. It would also help if you can provide more details on the steps to reproduce. It seems your are using a real device and not a simulator? The original crash was found only on iOS 13 / simulator, iirc. Any log would also help. Thanks.

dashchak commented 4 years ago

@Azat92 Please open new issue with crash details or steps to reproduce attached. As current one related only to crash on iOS 13 Simulator. Thanks!