I've added the Esri Living Atlas Tapestry Layer (https://www.arcgis.com/home/item.html?id=c2a2e156485b4feab11b86976fe9c011) using AGSArcGISMapImageLayer to an app using 100.6. The layer shows up as expected, however when I try and identify it using identifyLayersAtScreenPoint:tolerance:returnPopupsOnly:maximumResultsPerLayer:completion:() I get the following error:
ArcGIS Runtime Error Occurred. Set a breakpoint on C++ exceptions to see the original callstack and context for this error: Error Domain=com.esri.arcgis.runtime.error Code=1001 "SQL error or missing database" UserInfo={NSLocalizedFailureReason=too many columns on State_0, NSLocalizedDescription=SQL error or missing database, Additional Message=too many columns on State_0}So the error is telling me there's too many fields for it to do an identify but I cannot figure out how to limit the fields returned (I only need about 10 of them for our purposes). I've asked this question in the past (and Esri said they were going to look into it) but never did figure out a solution other than creating a copy of the data with just the fields we want and hosting it ourself. Is there a workaround for this or are we still stuck hosting the data? I'd like to stop having to do this since it eats up credits duplicating data already out there, plus it's disconnected from the authoritative layer that Esri is publishing.
I'm Identifying the layer using this method:
self<SPAN class="punctuation token">.</SPAN>agsMapView<SPAN class="operator token">?</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">identifyLayers</SPAN><SPAN class="punctuation token">(</SPAN>atScreenPoint<SPAN class="punctuation token">:</SPAN> screenPoint<SPAN class="punctuation token">,</SPAN> tolerance<SPAN class="punctuation token">:</SPAN> <SPAN class="number token">12.0</SPAN><SPAN class="punctuation token">,</SPAN> returnPopupsOnly<SPAN class="punctuation token">:</SPAN> false<SPAN class="punctuation token">,</SPAN> maximumResultsPerLayer<SPAN class="punctuation token">:</SPAN> <SPAN class="number token">4</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="punctuation token">(</SPAN>results<SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN>AGSIdentifyLayerResult<SPAN class="punctuation token">]</SPAN><SPAN class="operator token">?</SPAN><SPAN class="punctuation token">,</SPAN> error<SPAN class="punctuation token">:</SPAN> Error<SPAN class="operator token">?</SPAN><SPAN class="punctuation token">)</SPAN> in <SPAN class="punctuation token">{</SPAN>
<SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN>
<SPAN class="punctuation token">}</SPAN>Thankful for any help...