|
POST
|
Hello Michael, There are several different ways you could accomplish this. You could do so via the built-in callout's customView (which is essentially just a UIView), or just roll your own view (and optionally view controller). For example, we use a "bottom sheet" UIView which we animate on, up, and down the screen, while dynamically updating data as it changes via notification handler methods in the map view controller (though, we could just as easily have embedded another view controller in a container view, or presented another view controller over the map view controller context). It is my experience that customers typically end up wanting more and more functionality that tends to push the bounds of basic classes like the AGSCallout. I recommend taking the only slightly greater effort (in the short-run) to create a custom view that gives you exactly what you need. If you're interested, I'm happy to show you some sample code. Cheers, Jake
... View more
09-24-2018
08:05 PM
|
0
|
1
|
1275
|
|
POST
|
Hello Asif, First, I've run into similar use cases before, and found it's easier to just write my own http call to the feature service endpoint. It's pretty straightforward (Query (Feature Service/Layer)—ArcGIS REST API: Services Directory | ArcGIS for Developers ) , and if you need to authenticate, you can just hit the generate token service first (Generate Token—ArcGIS REST API: Services Directory | ArcGIS for Developers ). This has several advantages, including a) you aren't creating a new layer, waiting for it to load, etc.; b) you can set returnGeometry to false and even limit outfields to the one(s) you need. Also, you could add a variable to track query status to cancel your request before making a new one. Second, you can dial back the frequency of updates from the location manager by setting a distanceFilter (distanceFilter - CLLocationManager | Apple Developer Documentation) which is none by default. If the user is driving, several (or tens) of meters may be appropriate. Please let me know if this helps, or you have any questions. Cheers, Jake
... View more
09-24-2018
07:16 PM
|
3
|
2
|
2219
|
|
POST
|
And another: (lldb) bt * thread #33, queue = 'com.apple.root.default-qos', stop reason = EXC_BAD_ACCESS (code=1, address=0x736120657079542e) * frame #0: 0x00000001842ebe4c libsystem_pthread.dylib`pthread_mutex_unlock$VARIANT$armv81 frame #1: 0x0000000104d28330 ArcGIS`Esri_runtimecore::Geodatabase::Sqlite_command::is_null(int) + 52 frame #2: 0x0000000104d2894c ArcGIS`Esri_runtimecore::Geodatabase::Sqlite_command::get_as_text(int) + 52 frame #3: 0x0000000104d286dc ArcGIS`Esri_runtimecore::Geodatabase::Sqlite_command::get_as_guid(int) + 84 frame #4: 0x0000000104ccc220 ArcGIS`Esri_runtimecore::Geodatabase::Catalog_dataset::get_related_items_origins(Esri_runtimecore::Geodatabase::Catalog_item_reference const&) + 508 frame #5: 0x0000000104ccca80 ArcGIS`Esri_runtimecore::Geodatabase::Catalog_dataset::for_each_relationship_class(Esri_runtimecore::Geodatabase::Catalog_item_reference&, std::__1::function<bool (Esri_runtimecore::Geodatabase::Relationship_class_definition&)>) + 52 frame #6: 0x0000000104d3db30 ArcGIS`Esri_runtimecore::Geodatabase::Details::Table_schema::describe(std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Database>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 756 frame #7: 0x0000000104d3e400 ArcGIS`Esri_runtimecore::Geodatabase::Details::Table_schema::open(std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Database>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 172 frame #8: 0x00000001040640d4 ArcGIS`std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Table> Esri_runtimecore::Geodatabase::Database::open<Esri_runtimecore::Geodatabase::Table>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 56 frame #9: 0x00000001040a9edc ArcGIS`Esri_runtimecore::Mapping::Geodatabase_feature_table::load_sync(pplx::cancellation_token) + 172 frame #10: 0x00000001040abfd8 ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Geodatabase_feature_table::load_or_retry_(Esri_runtimecore::Mapping::Loadable::Load_or_retry_mode)::$_2, std::__1::allocator<Esri_runtimecore::Mapping::Geodatabase_feature_table::load_or_retry_(Esri_runtimecore::Mapping::Loadable::Load_or_retry_mode)::$_2>, void ()>::operator()() + 164 frame #11: 0x0000000103ff9024 ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Task<void>::Task(std::__1::function<void ()>, pplx::cancellation_token_source)::'lambda'(), std::__1::allocator<Esri_runtimecore::Mapping::Task<void>::Task(std::__1::function<void ()>, pplx::cancellation_token_source)::'lambda'()>, boost::any ()>::operator()() + 24 frame #12: 0x00000001044ad794 ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Task_implementation::Task_implementation(std::__1::function<boost::any ()>, Esri_runtimecore::Mapping::Task_options)::$_0, std::__1::allocator<Esri_runtimecore::Mapping::Task_implementation::Task_implementation(std::__1::function<boost::any ()>, Esri_runtimecore::Mapping::Task_options)::$_0>, boost::any ()>::operator()() + 52 frame #13: 0x00000001044ad190 ArcGIS`pplx::details::_PPLTaskHandle<boost::any, pplx::task<boost::any>::_InitialTaskHandle<boost::any, Esri_runtimecore::Mapping::Task_implementation::Task_implementation(std::__1::function<boost::any ()>, Esri_runtimecore::Mapping::Task_options)::$_0, pplx::details::_TypeSelectorNoAsync>, pplx::details::_TaskProcHandle>::invoke() const + 188 frame #14: 0x000000010588cd74 ArcGIS`pplx::details::_TaskProcHandle::_RunChoreBridge(void*) + 28 frame #15: 0x0000000105201a88 ArcGIS`Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void*) + 60 frame #16: 0x0000000116fbd45c libdispatch.dylib`_dispatch_client_callout + 16 frame #17: 0x0000000116fc956c libdispatch.dylib`_dispatch_queue_override_invoke + 980 frame #18: 0x0000000116fceb54 libdispatch.dylib`_dispatch_root_queue_drain + 616 frame #19: 0x0000000116fce880 libdispatch.dylib`_dispatch_worker_thread3 + 136 frame #20: 0x00000001842e3120 libsystem_pthread.dylib`_pthread_wqthread + 1268 frame #21: 0x00000001842e2c20 libsystem_pthread.dylib`start_wqthread + 4 (lldb) I've been looking through our crash reports and found these occurring in the wild, as well. Cheers, Jake
... View more
05-16-2018
06:33 PM
|
0
|
0
|
2656
|
|
POST
|
Hi Nick, I am able to reproduce a EXC_BAD_ACCESS crash consistently (though with less frequency) in the same background/foreground scenario. Here is the back trace: (lldb) bt * thread #62, queue = 'com.apple.root.default-qos', stop reason = EXC_BAD_ACCESS (code=1, address=0xa000000000000044) * frame #0: 0x000000010510a76c ArcGIS`columnMem.llvm.82BCAFF3 + 92 frame #1: 0x0000000104868314 ArcGIS`Esri_runtimecore::Geodatabase::Sqlite_command::is_null(int) + 24 frame #2: 0x0000000104868400 ArcGIS`Esri_runtimecore::Geodatabase::Sqlite_command::get_as_int32(int) + 32 frame #3: 0x0000000104839fac ArcGIS`Esri_runtimecore::Geodatabase::populate_field_definitions(std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Database>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) + 1352 frame #4: 0x0000000104805f30 ArcGIS`Esri_runtimecore::Geodatabase::Catalog_dataset::get_item_definition(Esri_runtimecore::Geodatabase::Catalog_item_reference const&) + 4116 frame #5: 0x000000010487d90c ArcGIS`Esri_runtimecore::Geodatabase::Details::Table_schema::describe(std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Database>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 208 frame #6: 0x000000010487e400 ArcGIS`Esri_runtimecore::Geodatabase::Details::Table_schema::open(std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Database>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 172 frame #7: 0x0000000103ba40d4 ArcGIS`std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Table> Esri_runtimecore::Geodatabase::Database::open<Esri_runtimecore::Geodatabase::Table>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 56 frame #8: 0x0000000103be9edc ArcGIS`Esri_runtimecore::Mapping::Geodatabase_feature_table::load_sync(pplx::cancellation_token) + 172 frame #9: 0x0000000103bebfd8 ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Geodatabase_feature_table::load_or_retry_(Esri_runtimecore::Mapping::Loadable::Load_or_retry_mode)::$_2, std::__1::allocator<Esri_runtimecore::Mapping::Geodatabase_feature_table::load_or_retry_(Esri_runtimecore::Mapping::Loadable::Load_or_retry_mode)::$_2>, void ()>::operator()() + 164 frame #10: 0x0000000103b39024 ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Task<void>::Task(std::__1::function<void ()>, pplx::cancellation_token_source)::'lambda'(), std::__1::allocator<Esri_runtimecore::Mapping::Task<void>::Task(std::__1::function<void ()>, pplx::cancellation_token_source)::'lambda'()>, boost::any ()>::operator()() + 24 frame #11: 0x0000000103fed794 ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Task_implementation::Task_implementation(std::__1::function<boost::any ()>, Esri_runtimecore::Mapping::Task_options)::$_0, std::__1::allocator<Esri_runtimecore::Mapping::Task_implementation::Task_implementation(std::__1::function<boost::any ()>, Esri_runtimecore::Mapping::Task_options)::$_0>, boost::any ()>::operator()() + 52 frame #12: 0x0000000103fed190 ArcGIS`pplx::details::_PPLTaskHandle<boost::any, pplx::task<boost::any>::_InitialTaskHandle<boost::any, Esri_runtimecore::Mapping::Task_implementation::Task_implementation(std::__1::function<boost::any ()>, Esri_runtimecore::Mapping::Task_options)::$_0, pplx::details::_TypeSelectorNoAsync>, pplx::details::_TaskProcHandle>::invoke() const + 188 frame #13: 0x00000001053ccd74 ArcGIS`pplx::details::_TaskProcHandle::_RunChoreBridge(void*) + 28 frame #14: 0x0000000104d41a88 ArcGIS`Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void*) + 60 frame #15: 0x0000000116af945c libdispatch.dylib`_dispatch_client_callout + 16 frame #16: 0x0000000116b0556c libdispatch.dylib`_dispatch_queue_override_invoke + 980 frame #17: 0x0000000116b0ab54 libdispatch.dylib`_dispatch_root_queue_drain + 616 frame #18: 0x0000000116b0a880 libdispatch.dylib`_dispatch_worker_thread3 + 136 frame #19: 0x00000001842e3120 libsystem_pthread.dylib`_pthread_wqthread + 1268 frame #20: 0x00000001842e2c20 libsystem_pthread.dylib`start_wqthread + 4 (lldb)
... View more
05-16-2018
06:27 PM
|
0
|
0
|
2656
|
|
POST
|
Hi Nick, I'm not sure if it's the same issue, or not. I appreciate the help. I moved the full stack to an attachment. Cheers, Jake
... View more
05-16-2018
08:29 AM
|
2
|
0
|
2656
|
|
POST
|
I've been chasing this bug for weeks. Getting crash due to EXC_BAD_ACCESS (code=EXC_I386_GPFLT) frequently (~25% of the time) when backgrounding and re-foregrounding iOS app. We are using iOS Runtime 100.2.1. Crash is occurring across device types and iOS versions. Any help in identifying a workaround would be appreciated. Our implementation: 1) all tables and layers instantiated from local runtime replica geodatabase (regsGDB.geodatabase): fileprivate func initGDB() -> Void { self.deinitGDB() regsGDB = AGSGeodatabase(fileURL: FileUtil.urlFor(GlobalConstants.fileNames.REGS_WORKING_GDB)!) regsGDB.load(completion: {[weak self] (error: Error?) in if (error != nil) { self?.regsGDBLoaded = false self?.disableFeatureInteraction() os_log("Error loading geodatabase", [error?.localizedDescription]) } else { self?.loadLayers() }}) } 2) strong references to tables and layers, with nil checks on regsGDB before calling load (for tables and layers): fileprivate func loadLayers() -> Void { if regsGDB != nil && regsGDB.loadStatus == .loaded { self.countiesTable = (regsGDB.geodatabaseFeatureTable(byServiceLayerID: GlobalConstants.IDs.COUNTIES_LAYER_INDEX)!) as AGSFeatureTable self.countiesLayer = AGSFeatureLayer(featureTable: (self.countiesTable)!) self.countiesLayer.renderer = EsriUtil.municipalityPolyRenderer self.countiesLayer.labelsEnabled = true self.countiesLayer.selectionColor = UIColor.cyan self.countiesLayer.selectionWidth = 5 self.countiesLayer.minScale = 6000000 self.map.operationalLayers.add(self.countiesLayer) self.citiesTable = (regsGDB.geodatabaseFeatureTable(byServiceLayerID: GlobalConstants.IDs.CITIES_LAYER_INDEX)!) as AGSFeatureTable self.citiesLayer = AGSFeatureLayer(featureTable: (self.citiesTable)!) self.citiesLayer.renderer = EsriUtil.municipalityPolyRenderer self.citiesLayer.labelsEnabled = true self.citiesLayer.selectionColor = UIColor.cyan self.citiesLayer.selectionWidth = 5 self.citiesLayer.minScale = 6000000 self.map.operationalLayers.add(self.citiesLayer) . . . 3) deinit by manually removing all operationalLayers and tables, nilling out all layers and tables prior to reinitializing and loading gdb, tables and layers: fileprivate func deinitGDB() -> Void { // remove and nil out the layers self.map.operationalLayers.removeAllObjects() self.countiesLayer = nil self.citiesLayer = nil . . . // remove and nil out the tables self.map.tables.removeAllObjects() self.countiesTable = nil self.citiesTable = nil . . . if regsGDB != nil { switch regsGDB.loadStatus { case .loading: regsGDB.cancelLoad() break default: break } regsGDB.close() } regsGDBLoaded = false } I have not been able to reproduce by stepping through/over. Thoughts? Attached is a debug log of ObjC and C++ Exceptions encountered on foregrounding repeatedly in the same session. Note, crash only occurs when breakpoints are turned off (see crash again in last backtrace in this file). Here's a back-trace of the crash (full stack is attached): * thread #67, queue = 'com.apple.root.default-qos', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) * frame #0: 0x000000010f2574b4 ArcGIS`columnMem + 88 frame #1: 0x000000010f257535 ArcGIS`ags_sqlite3_column_bytes + 15 frame #2: 0x000000010e87a38d ArcGIS`Esri_runtimecore::Geodatabase::Sqlite_command::get_as_text(int) + 77 frame #3: 0x000000010e81287e ArcGIS`Esri_runtimecore::Geodatabase::Bound_row_value::operator std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >() const + 28 frame #4: 0x000000010e848b6d ArcGIS`Esri_runtimecore::Geodatabase::populate_field_definitions(std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Database>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) + 503 frame #5: 0x000000010e814079 ArcGIS`Esri_runtimecore::Geodatabase::Catalog_dataset::get_item_definition(Esri_runtimecore::Geodatabase::Catalog_item_reference const&) + 2825 frame #6: 0x000000010e890fce ArcGIS`Esri_runtimecore::Geodatabase::Details::Table_schema::describe(std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Database>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 232 frame #7: 0x000000010e891aab ArcGIS`Esri_runtimecore::Geodatabase::Details::Table_schema::open(std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Database>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 191 frame #8: 0x000000010e8ad763 ArcGIS`std::__1::shared_ptr<Esri_runtimecore::Geodatabase::Table> Esri_runtimecore::Geodatabase::Database::open<Esri_runtimecore::Geodatabase::Table>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 51 frame #9: 0x000000010da7a276 ArcGIS`Esri_runtimecore::Mapping::Geodatabase_feature_table::load_sync(pplx::cancellation_token) + 206 frame #10: 0x000000010da7cc3a ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Geodatabase_feature_table::load_or_retry_(Esri_runtimecore::Mapping::Loadable::Load_or_retry_mode)::$_2, std::__1::allocator<Esri_runtimecore::Mapping::Geodatabase_feature_table::load_or_retry_(Esri_runtimecore::Mapping::Loadable::Load_or_retry_mode)::$_2>, void ()>::operator()() + 150 frame #11: 0x000000010db748b2 ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Task<void>::Task(std::__1::function<void ()>, pplx::cancellation_token_source)::'lambda'(), std::__1::allocator<Esri_runtimecore::Mapping::Task<void>::Task(std::__1::function<void ()>, pplx::cancellation_token_source)::'lambda'()>, boost::any ()>::operator()() + 18 frame #12: 0x000000010deeb4fb ArcGIS`std::__1::function<boost::any ()>::operator()() const + 27 frame #13: 0x000000010deeb75e ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Task_implementation::Task_implementation(std::__1::function<boost::any ()>, Esri_runtimecore::Mapping::Task_options)::$_0, std::__1::allocator<Esri_runtimecore::Mapping::Task_implementation::Task_implementation(std::__1::function<boost::any ()>, Esri_runtimecore::Mapping::Task_options)::$_0>, boost::any ()>::operator()() + 50 frame #14: 0x000000010deeb4fb ArcGIS`std::__1::function<boost::any ()>::operator()() const + 27 frame #15: 0x000000010deeb28f ArcGIS`pplx::details::_PPLTaskHandle<boost::any, pplx::task<boost::any>::_InitialTaskHandle<boost::any, Esri_runtimecore::Mapping::Task_implementation::Task_implementation(std::__1::function<boost::any ()>, Esri_runtimecore::Mapping::Task_options)::$_0, pplx::details::_TypeSelectorNoAsync>, pplx::details::_TaskProcHandle>::invoke() const + 267 frame #16: 0x000000010f55d5c4 ArcGIS`pplx::details::_TaskProcHandle::_RunChoreBridge(void*) + 16 frame #17: 0x000000010ee1b428 ArcGIS`Esri_runtimecore::Common::Core_scheduler::invoke_(Esri_runtimecore::Common::Core_scheduler::Queued_proc*) + 24 frame #18: 0x000000010ee1b3d0 ArcGIS`Esri_runtimecore::Common::Core_scheduler::Queued_proc::invoke() + 48 frame #19: 0x000000010ee1ad1f ArcGIS`Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void*) + 23 frame #20: 0x0000000119e8a848 libdispatch.dylib`_dispatch_client_callout + 8 frame #21: 0x0000000119e8f675 libdispatch.dylib`_dispatch_queue_override_invoke + 1451 frame #22: 0x0000000119e963c8 libdispatch.dylib`_dispatch_root_queue_drain + 664 frame #23: 0x0000000119e960d2 libdispatch.dylib`_dispatch_worker_thread3 + 132 frame #24: 0x000000011c615169 libsystem_pthread.dylib`_pthread_wqthread + 1387 frame #25: 0x000000011c614be9 libsystem_pthread.dylib`start_wqthread + 13 (lldb)
... View more
05-11-2018
06:50 PM
|
0
|
4
|
4537
|
|
POST
|
Hi Mark, Absolutely. I had considered that, but was concerned about committing a licensing violation. We'll do that and release today, then follow up with what we see. Cheers, Jake
... View more
04-12-2018
08:29 AM
|
0
|
2
|
476
|
|
POST
|
Hi Mark, Any update on this? Our app is out in the wild, with over 15k installs as of yesterday and this issue is causing a high hard crash rate (~5%) for both iOS and Android. We still haven't been able to reproduce ourselves. I did send support a request to open a case yesterday, as well, but I haven't got a reply yet. At this point, a workaround of some sort would be just fine. Cheers, Jake
... View more
04-11-2018
09:38 AM
|
0
|
4
|
1611
|
|
POST
|
Hi, I believe that login request is coming from the ArcGIS Online service itself. The license key is for licensing the app. You can separately provide credentials programmatically when you load the layer, table, etc. See "Connect to secured content and services on ArcGIS Online" here: Access the ArcGIS platform—ArcGIS Runtime SDK for iOS | ArcGIS for Developers Alternatively, you could share that content publicly, if appropriate; then, no need for credentials. Hope that helps. Cheers, Jake
... View more
04-03-2018
01:41 PM
|
2
|
0
|
804
|
|
POST
|
Hi Mark, We're only using mapView. A workaround would be awesome. We already have listeners setup for when the map is panned/zoomed in both apps, so I'm hoping we can override and wrap those attribution text methods with a try/catch or similar (assuming, of course that those parts of the API are exposed...). Jake
... View more
03-22-2018
01:49 PM
|
0
|
0
|
1611
|
|
POST
|
Hi Mark, We are apparently getting a similar crash with the Android version of our app: Today, 8:30 AM on app version 17 Samsung Galaxy S8 (dreamqltesq), 4096MB RAM, Android 7.0 Report 1 com.esri.arcgisruntime.ArcGISRuntimeException: at com.esri.arcgisruntime.internal.jni.CoreGeoView.nativeGetAttributionText (Native Method) at com.esri.arcgisruntime.internal.jni.CoreGeoView.b (SourceFile:152) at com.esri.arcgisruntime.internal.g.b.g.f (SourceFile:978) at com.esri.arcgisruntime.mapping.view.GeoView$3.attributionTextChanged (SourceFile:954) at com.esri.arcgisruntime.internal.g.b.b$1.run (SourceFile:50) at android.os.Handler.handleCallback (Handler.java:751) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:154) at android.app.ActivityThread.main (ActivityThread.java:6776) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)
... View more
03-22-2018
01:20 PM
|
0
|
8
|
1611
|
|
POST
|
Hi Mark, We are only using mapView. I'm not sure what the user is doing. We have over 5k installs, but 5 instances of this particular crash. Based on what's on the UI thread, I assume it is instantiating or otherwise responding to a vector base layer. This is on the main thread at the time of crash (note: we are only using one built-in vector basemap via a service, .darkGrayCanvasVector; though we also have a custom vtpk onboard): #0 (null) in std::__1::__vector_base<unsigned int, std::__1::allocator<unsigned int> >::~__vector_base() () I see them for only iPhone. 6s Plus; iOS 11.2.6 I figured it was something like that. I've attempted unsuccessfully to reproduce the behavior by: 1) switching out the basemap to/from both the .darkGrayCanvasVector and the .vtpk multiple times; 2) panning and zooming the map; 3) backgrounding/foregrounding the app with both layers instantiated; 4) Force-quitting/relaunching with both layers instantiated. Jake
... View more
03-20-2018
10:21 AM
|
0
|
10
|
1611
|
|
POST
|
Hi, We have an iOS app out on the App Store. We recently updated to 100.2.1 and started getting crashes caused by: #1 (null) in std::__1::__function::__func<Esri_runtimecore::Mapping::Geo_view::schedule_update_attribution_()::$_59, std::__1::allocator<Esri_runtimecore::Mapping::Geo_view::schedule_update_attribution_()::$_59>, void ()>::operator()() () Unfortunately, we have not been able to reproduce it and these crashes are unsymbolicated, despite the fact that I selected option to include symbols when I uploaded the build (and, yes, this is the same machine that has the original archive on it). Thoughts on what would cause this? Based on your documentation, I know the method is associated with map attribution. We are not altering the display, etc. of the attribution at all. Cheers, Jake
... View more
03-19-2018
04:39 PM
|
0
|
12
|
2650
|
|
POST
|
Hi Jonathan, We've never run into an issue with the license becoming "untrusted." We have concurrent licenses, currently managing them on each instance independently with their own license managers. We do have plans to just point to a shared, central license manager, but it hasn't been enough of an inconvenience to push it up to the top of the priority list yet.
... View more
03-15-2018
12:51 PM
|
0
|
1
|
722
|
|
POST
|
Absolutely, it's possible. Preferable, even, when you are running and administering ArcGIS Server instances in the cloud and need to allow for users to edit data via Desktop; especially, where a lost connection could disrupt an editing session. We've been using Amazon Web Services to host almost all of our server infrastructure for nearly 2 years. We are running ArcGIS Server Enterprise on Linux, backed with a PostgreSQL database server, also Linux. All our data in SDE is versioned and archive-enabled (for SDE and runtime mobile replication). Our cartographers do all their editing via Desktop, installed on Windows Server 2016 instances in the same AWS cloud environment. We also maintain all the MXDs and services on these boxes. Everyone accesses these Desktop boxes via RDP. Even better, if done correctly, it's very secure. I won't get into the details on security here, but I can say that our environment has passed multiple rigorous design reviews and external audits.
... View more
03-15-2018
12:26 PM
|
0
|
3
|
722
|
| Title | Kudos | Posted |
|---|---|---|
| 2 | 10-26-2018 09:42 AM | |
| 2 | 09-30-2018 01:09 PM | |
| 3 | 09-24-2018 07:16 PM | |
| 2 | 05-16-2018 08:29 AM | |
| 2 | 04-03-2018 01:41 PM |
| Online Status |
Offline
|
| Date Last Visited |
05-02-2024
03:11 AM
|