multithreading - ESRI 映射提供主线程检查器 : UI API called on a background thread in iOS 11

标签 multithreading maps ios11 esri-arc-engine esri-maps

我在我的应用程序中使用 ESRI map 。当我在 iOS 10 中运行应用程序时,加载 ESRI map 没有问题,放大和缩小也很好。但是当我使用 iOS 11 运行相同的应用程序时,它给了我

Main Thread Checker: UI API called on a background thread: -[UIApplication 
applicationState]
PID: 485, TID: 72091, Thread name: Runtime Network Callback Thread, Queue 
name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   Altus Mobile                        0x00000001006f4844 -
    [AGSRequestOperation kickoffConnection] + 1108 .  
5   Foundation                          0x0000000185987a50 <redacted> + 340
6   CoreFoundation                      0x0000000184f40358 <redacted> + 24
7   CoreFoundation                      0x0000000184f402d8 <redacted> + 88
8   CoreFoundation                      0x0000000184f3fb60 <redacted> + 204
9   CoreFoundation                      0x0000000184f3d738 <redacted> + 1048
10  CoreFoundation                      0x0000000184e5e2d8 
    CFRunLoopRunSpecific + 436
11  Foundation                          0x00000001858866e4 <redacted> + 304
12  Altus Mobile                        0x00000001007dbf28 -
    [AGSThreadTargetImpl mainRoutine] + 292
13  Foundation                          0x0000000185987860 <redacted> + 996
14  libsystem_pthread.dylib             0x0000000184bc432c <redacted> + 308
15  libsystem_pthread.dylib             0x0000000184bc41f8 <redacted> + 0
16  libsystem_pthread.dylib             0x0000000184bc2c38 thread_start + 4
    2017-10-26 13:11:41.375952+0530 Altus Mobile[485:72091] [reports] Main 
Thread Checker: UI API called on a background thread: -[UIApplication .   
applicationState]

我知道 Apple 在最新的 Xcode 版本中启用了 Main Thead Checker,它告诉我们是否在后台使用任何 UI 主线程。只是为了确保问题出在 ESRI Maps 已经评论了 ESRI map 的加载部分,主线程检查器问题没有出现,但是当我取消评论它时,再次发布。此外,当我放大和缩小 ESRI map 时
 2017-10-26 13:11:41.659743+0530 Altus Mobile[485:72060] Task <504051EF-9770-
 4852-AFB8-C47DF112DA52>.<30> finished with error - code: -999

有没有人在使用 ESRI map 时遇到过类似的问题?任何帮助表示赞赏。谢谢你。

最佳答案

是的,我在使用 ArcGIS SDK 版本时遇到了同样的问题 100.0.0 在 iOS 11 中。将 ArcGIS SDK 升级到 100.1.1 为我解决了这个问题。

关于multithreading - ESRI 映射提供主线程检查器 : UI API called on a background thread in iOS 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46948673/

相关文章:

maps - geojson Leaflet 弹出窗口不会出现或破坏标记

ios - 如何在 iOS 11 或更高版本的 iPhone 中使用 ITMS 服务协议(protocol)?

c# - C#中的线程概念

c# - 在 HttpModule 中正确使用 ConcurrentQueue?

c# - 有没有办法为 Xamarin.Forms.Maps 引脚移动设置动画

android - 使用 ArcGis 在 OneMap 上显示位置

ios - 在 iOS 11/iPhone 7/8plus 的第 3 方应用程序中使用 "portrait"模式( Bokeh )拍照?

ios - 如何在整个应用程序中禁用 iOS 11 拖动?

python - 多线程Python退出

ruby - 同步线程启动