"could not load" exception using AGSLocalTiledLayer and TPK

Discussion created by kirkwooe on Jul 10, 2012
Latest reply on Jul 11, 2012 by kirkwooe
Our app uses an AGSLocalTiledLayer to provide offline access to map data using a tile package (TPK). We're using v2.3 of the iOS SDK. Recently we've been encountering an exception using when the map is positioned to a certain area at certain zoom levels. This is getting logged to debug output:

2012-07-10 11:15:53.610 app[11990:19a03] could not locate: v101/Layers/_alllayers/L19/R36280C4e400.bundle
2012-07-10 11:15:53.648 app[11990:19a03] could not locate: v101/Layers/_alllayers/L19/R36280C4e400.bundlx

Looking at the contents of the TPK (by changing the extension to .zip and uncompressing it), the .bundle and .bundlx files from the debug output are indeed not there. This seems to only occur with tiles in the 2 lowest scales (L18 and L19), almost as though the tiles at those scales in the TPK were not completely generated.

So ... two questions:

  1. Has anyone encountered an issues with a TPK like this before, and if so, did you find a way to ensure all the expected tiles get included in the TPK? Any errors/warnings we ought to be looking for in ArcGIS Desktop?

  2. Is there a recommended/supported way to handle this situation when using the iOS SDK?

Here is a stack trace from a crash report when this exception is encountered:
Thread 14 Crashed:
0   libsystem_kernel.dylib         0x30d8632c __pthread_kill + 8
1   libsystem_c.dylib              0x33317208 pthread_kill + 48
2   libsystem_c.dylib              0x33310316 __abort + 86
3   libsystem_c.dylib              0x332f1b42 __chk_fail + 38
4   libsystem_c.dylib              0x332f1b0e __memcpy_chk + 6
5   app                         0x00118dcc -[AGSIndexRec readFileStream:recordSize:] (AGSIndexRec.m:39)
6   app                         0x00116c12 -[AGSVFileIndex readIndex:] (
7   app                         0x00116640 -[AGSVFileIndex filePosition:] (
8   app                         0x0011a098 -[AGSVFileReader readRecord:buffer:length:] (
9   app                         0x0011827e -[AGSVFileTileReader getTileForLOD:row:col:tileData:] (AGSVFileTileReader.m:76)
10  app                         0x0011d792 -[AGSLocalTileRequestOperation main] (AGSLocalTileRequestOperation.m:91)
11  Foundation                     0x372d138c -[__NSOperationInternal start] + 856
12  Foundation                     0x3733a78c __block_global_6 + 96
13  libdispatch.dylib              0x34a4dc52 _dispatch_call_block_and_release + 6
14  libdispatch.dylib              0x34a50810 _dispatch_worker_thread2 + 252
15  libsystem_c.dylib              0x332d2df4 _pthread_wqthread + 288
16  libsystem_c.dylib              0x332d2cc8 start_wqthread + 0