POST
|
Just to close the loop on this - we followed up through our ESRI Partner Coordinator and an ESRI Technology Lead, and confirmed that map packages are not supported in the current iOS Runtime SDK (10.1.1). Except in the case of offline use, which ESRI seems to be working on, it makes more sense to get on-demand data from a service. Offline use is exactly the use case we're supporting. As Dana suggests, the message from ESRI on enhancements to offline capability in the iOS Runtime SDK is essentially that it's in the works, but too early for details.
... View more
03-10-2013
01:31 PM
|
0
|
0
|
472
|
POST
|
Is it possible to load a map package (i.e a .mpk file) inside an app built using the iOS Runtime SDK? This post (on the Android runtime forum) suggest that it is: http://forums.arcgis.com/threads/58176-ArcGIS-Runtime-SDK-for-Android-and-The-mpk-format-file I also seem to recall seeing mention of the mpk format in earlier versions of the iOS runtime documentation and/or possibly in a sample project. Was this capability removed from the iOS runtime?
... View more
02-21-2013
03:00 PM
|
0
|
2
|
4924
|
POST
|
Hi,all! when I use tpk through itune sharing files,the files are public. This may have some data security problems. Anyone who have the tpk files can see these map using ArcMap or other apps. Are there some good ideas about authorize data access or encrypt the tpk files? thanks! Hi Lynn, iOS provides some convenient mechanisms for on-disk data encryption. I'd suggest taking a look at the setAttributes: ofItemAtPath: error: method of the NSFileManager class. You can, for example, set the NSFileProtectionCompleteUnlessOpen attribute so a file is stored in an encrypted format on disk and can only be opened while the device is unlocked. Once open, your app may continue to access the file normally, even if the user locks the device. Then, if the device is passcode protected, only users that know the passcode will be able to decrypt the file. You can find more information about this under "Protecting Data Using On-Disk Encryption" in the Advanced App Tricks chapter the iOS App Programming Guide. Another idea might be to move the TPK out of the app's Documents directory once it's been loaded - the list of files visible for an iOS app under iTunes File Sharing corresponds to the Documents directory within the app's "sandbox" (i.e. the portion of the iOS file system accessible to the app). After loading, you could move the TPK from the Documents directory to somewhere else - the Library directory, for instance - then use the localTiledLayerWithPath method of the AGSLocalTiledLayer class to create the tiled layer specifying the new path to the TPK file. The code would look something like this:
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager copyItemAtPath: pathToDocumentsTPK toPath: pathToLibraryTPK error: NULL ])
[fileManager removeItemAtPath: pathToDocumentsTPK error:nil];
AGSLocalTiledLayer* tiledLayer = [AGSLocalTiledLayer localTiledLayerWithPath: pathToLibraryTPK];
After the TPK has been moved out of the Documents directory, it would no longer appear in iTunes File Sharing. However, that also means that users would have no way to delete or update the TPK - you'd have to build functionality into your app to manage updates and deletions for TPK files, or some mechanism to move the TPK back to the Documents directory to make it accessible to users again. Just a couple of ideas ... I'm sure there are other options as well. Hope that helps. Evan
... View more
07-11-2012
04:51 PM
|
0
|
0
|
314
|
POST
|
Hi, Kirk - Does your app crash when the exception is encountered? Or does it just log those messages in the console and continue to work (although without the tiles) ? Can you share your TPK with us so that we can debug it. Have you tried recreating the TPK to see if the missing files are included subsequently? What version of ArcGIS did you use to create the TPK? 10.1 Pre-release or Final? Yes, the app crashes when the exception is encountered (see crash report in the OP). Unfortunately the TPK we're encountering the issue with contains proprietary customer information, so we can't share it. We have tried recreating the TPK, and now suspect we may have an issue with the custom tiling schema we're using. We are currently using the pre-release version of ArcGIS 10.1 - is it possible that could be related to the TPK issues we're observing? We ran into another error - "Invalid function argument" - trying to create a TPK in NAD83 Alberta 3TM 114W projection (this is perhaps more appropriate to post in the ArcGIS Desktop forum, but any advice here would be appreciated). Thanks, Evan
... View more
07-11-2012
04:26 PM
|
0
|
0
|
224
|
POST
|
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: 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? 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:] (AGSVFileIndex.mm:262)
7 app 0x00116640 -[AGSVFileIndex filePosition:] (AGSVFileIndex.mm:142)
8 app 0x0011a098 -[AGSVFileReader readRecord:buffer:length:] (AGSVFileReader.mm:225)
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
... View more
07-10-2012
09:29 AM
|
0
|
2
|
325
|
POST
|
I suspect what is happening is that the display pipeline is not able to keep pace with the constantly changing map rotation, especially because the iPad 3 retina display requires a lot of fine detail in the graphics. As a workaround, can you try disabling the renderNativeResolution property on all the graphics layers and see if that makes things better? I have a feeling it might because the graphics layer will not try to draw in such great detail. You may see a slight degradation in the crispness of your graphics, but it may not be noticeable. Please let us know. And thank you for reporting this, your feedback is very helpful. Had a similar problem with our app running on an iPad 3. The combination of updating to v2.3 of the SDK and setting the renderNativeResolution property to NO on all graphics layers resolved the issue for us - we're seeing much better performance, and significantly lower virtual memory usage when we profile the app using the VM Tracker in the Xcode Instruments tool. Evan
... View more
07-10-2012
08:55 AM
|
0
|
0
|
400
|
POST
|
Use the latest SDK v2.3. You can download it from http://www.esri.com/apps/products/download/index.cfm?fuseaction=download.all#ArcGIS_Runtime_SDK_for_iOS. Regards, Nimesh Thanks Nimesh, that definitely helped. Didn't realize at the time that v2.3 had been released. We saw a big improvement right away after updating. After updating we were still seeing the occasional slow-down and/or a big spike in virtual memory usage that was causing iOS to jettison the app to recover memory. We set the .renderNativeResolution property to NO for all our graphics layers, and that seems to have further improved things. The rendered graphics aren't quite as sharp on a retina display iPad now, but you have to look very close to see the difference (most of our users haven't been able to spot the difference) so on the balance of things, it's a good trade off to keep our app responsive and keep the memory usage down. Evan
... View more
07-10-2012
08:45 AM
|
0
|
0
|
395
|
POST
|
I'm seeing similar slow performance with the graphics layer when panning/zooming the map view. We're using the latest version of the SDK (2.2.1 at the time of this post). Interestingly, we've noted a considerably slower performance on a retina display iPad as compared to an iPad 2 - what renders in under a second on an iPad 2 may take 2 or 3 seconds on a retina (aka "new) iPad. Making the map smaller (as brettl noted) or adding less graphics to the graphics layer helps, but that doesn't really help to satisfy our requirements. Can anyone suggest other performance tweaks that would help to compensate for the slow down on the retina iPad?
... View more
06-25-2012
07:15 PM
|
0
|
0
|
395
|
POST
|
I'm working on an iPad project with similar needs - the primary use case is offline access to GIS data in remote areas. We've been working with Local Tiled Layers, similar to the Online-Offline sample, but require more sophisticated query and attachment info capability to surface data for map features. Are there any plans to include these sort of capabilities in the mobile runtime for iOS offline mode? Are there any recommended/suggested work-arounds for offline access to this information in the short term? Thanks, Evan
... View more
05-08-2012
08:49 AM
|
0
|
0
|
228
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|