title: How to enable SoftScan to read Data Matrix codes in Socket Mobile ScanApi
body: <p>This is my first question on StackOverflow, so please forgive me if I have not laid out my question correctly!</p>
  
  <p>I am writing an iOS app in Objective-C (Which is derived from the SingleEntry example provided by Socket Mobile on GitHub) using the Scan Api by Socket Mobile, but I am having an issue setting the symbology of the SoftScan feature to read Data Matrix codes. The error returned is -15L, which from the documentation translates to ESKT_NOTSUPPORTED. I am using this from the ScanApi Helper to set the symbology, where deviceInfo is a DeviceInfo object:</p>
  
  <pre><code>[ScanApi postSetSymbologyInfo:deviceInfo SymbologyId:kSktScanSymbologyDataMatrix Status:TRUE Target:self Response:@selector(onSetSymbology:)];
  </code></pre>
  
  <p>The onSetSymbology method (this returns the error -15L):</p>
  
  <pre><code>-(void)onSetSymbology:(ISktScanObject*)scanObj{
  SKTRESULT result=[[scanObj Msg]Result];
  if(!SKTSUCCESS(result)){
      // display an error message saying a symbology cannot be set
      NSLog(@"Symbology can not be set, error %ld", result);
  }
  </code></pre>
  
  <p>}</p>
  
  <p>I have looked around the documentation and the internet extensively and cannot find any information related to this issue. </p>
  
  <p>So my question is:</p>
  
  <ul>
  <li>Can Data Matrix codes be scanned/recognised by the SoftScan?</li>
  <li>If so, how do you enable it?</li>
  </ul>
  
  <p>Thanks in advance!</p>