Skip To Content

Using and deploying the symbol dictionary

In this topic

About the symbol dictionary

Military messages are displayed on a map using the symbology defined in a symbol dictionary. Each symbol dictionary is represented by a folder on disk. This folder contains a .dat file (defining the symbology) and a set of JSON files (defining the types of military messages that can be processed. Symbol standards supported by this version of the ArcGIS iOS SDK includes the Department of Defense (DoD) MIL-STD-2525C specification.

Mil-STD-2525C is represented by the mil2525c folder, which contains the following:

  • mil2525c.dat
  • a messagetypes sub-folder containing
    • Chemlight.json
    • PositionReport.json
    • SpotReport.json

Each symbol dictionary is laid down with the ArcGIS Runtime SDK for iOS when you run the installation package. It's installed under the ${HOME}/Library/SDKs/ArcGIS/iOS/ArcGIS.framework/Versions/Current/Resources/Symbols folder.

Note:

The ${HOME}/Library folder is hidden by default in Mac OS X Lion. You can unhide it by issuing the command chflags nohidden ~/Library/ in the Terminal application.

Using and deploying the symbol dictionary

Once you have installed the iOS SDK, there are two ways you can deploy the symbol dictionary to an iOS device to use with your application.

1. Included within the application

To include a symbol dictionary in your application, you need to add the corresponding folder to your application's Xcode project. When you build your application, Xcode will then copy the folder and it's contents to the application bundle. When a user subsequently installs your application on their device, either through the App Store or through iTunes, the symbol dictionary will also be installed as part of the application. In the example shown below, the mil2525c symbol dictionary folder has been added to the project.

Symbol dictionary folder in project
Note:

When adding the symbol dictionary folder to your project, be sure to choose the Create folder references for any added folders option.

Adding symbol dictionary folder to project

Advantages

  • Simple deployment. The user needs to only install your application. The application comes bundled with the symbol dictionary it needs.
  • Simple to upgrade. When you need to update the application, you can roll out a new version containing the symbol dictionary. You can take advantage of the App Store infrastructure to notify users that a new version is available and users will most likely be familiar with the workflow of upgrading an application.

Disadvantages

  • A new version of the application will need to be released to update the symbol dictionary even if there is no new functionality or quality improvements in the application itself. This may require the usual rounds of stabilization testing, regression testing, etc before releasing the update.
  • The symbol dictionary will in turn increase the size of the application, and you may quickly run into the maximum size limits imposed on iOS applications. For more information on the limits, see the "App Size Tips" section of the ITunes Connect Developer Guide.

2. Through iTunes file sharing

In this scenario, the symbol dictionary is not bundled with the application and is thus not automatically copied to the device when installing the application. Instead, a user needs to manually copy the symbol dicationary to the application's shared folder through iTunes file sharing after installing the application.

Learn more about iTunes file sharing

Note:

To enable file sharing for your application, you must set the UIFileSharingEnabled key (displayed as "Application supports iTunes file sharing") to True in the application's Info.plist file. Any files copied through file sharing are made available in the Documents directory of the application. For more information about the iOS File System, refer to Apple's File System Programming Guide

Advantages

  • Flexible. Users can update, delete, and add to the application's shared directory without having to update the application.
  • Smaller application size. Because the symbol dictionary is not contained within the application bundle, the size of the symbol dictionary does not have a bearing on the size of the application. Thus, you will be less concerned about running into size limits imposed on the application by Apple.

Disadvantages

Post installation steps required. After installing the application, users need to plug-in their iOS device to a computer containing iTunes and manually copy over the symbol dictionary to the application's shared folder on the device. This can be cumbersome and might pose challenges in (A) an enterprise context where users may not have access to a computer containing iTunes or (B) a consumer context where the end user may not have access to or even know what the symbol dictionary is.