title: Appcelerator Geolocation never returns a speed on iOS
body: <p>I'm using Appcelerator to provide a geo track. This works very well on Android, but on the iOS platform I am not getting speed or heading information from the onLocation event.</p>
  
  <p>I initialise my GPS:</p>
  
  <pre><code>permissions.requestLocationPermissions(Ti.Geolocation.AUTHORIZATION_ALWAYS, function (e) {
      if (e.success &amp;&amp; !configuredMonitoring) {
          if (OS_IOS) {
              Ti.Geolocation.accuracy = Ti.Geolocation.ACCURACY_BEST;
              Ti.Geolocation.distanceFilter = 5;
              Ti.Geolocation.preferredProvider = Ti.Geolocation.PROVIDER_GPS;
              Ti.Geolocation.pauseLocationUpdateAutomatically = true;
              Ti.Geolocation.activityType = Ti.Geolocation.ACTIVITYTYPE_OTHER_NAVIGATION;
          }
  
          if (OS_ANDROID) {
              Ti.Geolocation.Android.addLocationProvider(Ti.Geolocation.Android.createLocationProvider({
                  name: Ti.Geolocation.PROVIDER_GPS,
                  minUpdateDistance: 10,
                  minUpdateTime: 1
              }));
              Ti.Geolocation.Android.addLocationRule(Ti.Geolocation.Android.createLocationRule({
                  provider: Ti.Geolocation.PROVIDER_GPS,
                  accuracy: 10,
                  maxAge: 5000,
                  minAge: 1000
              }));
              Ti.Geolocation.Android.addLocationProvider(Ti.Geolocation.Android.createLocationProvider({
                  name: Ti.Geolocation.PROVIDER_NETWORK,
                  minUpdateDistance: 10,
                  minUpdateTime: 1
              }));
              Ti.Geolocation.Android.addLocationRule(Ti.Geolocation.Android.createLocationRule({
                  provider: Ti.Geolocation.PROVIDER_NETWORK,
                  accuracy: 10,
                  maxAge: 5000,
                  minAge: 1000
              }));
              Ti.Geolocation.Android.manualMode = true;
          }
  }
  </code></pre>
  
  <p>Then I add eventlisteners for iOS location updates being paused </p>
  
  <pre><code>if (Ti.Geolocation.locationServicesEnabled){
    Ti.Geolocation.addEventListener('location', onLocation);
    if (OS_IOS) {
      Ti.Geolocation.addEventListener('locationupdatepaused', onLocationupdate);
      Ti.Geolocation.addEventListener('locationupdateresumed', onLocationupdate);
    }
  }
  </code></pre>
  
  <p>My onLocation function runs
      function onLocation(e) {</p>
  
  <pre><code>    if (!e.error) {
          var coords = e.coords;
          console.log(JSON.stringify(e));
      } else {
          console.log('Error!':+JSON.stringify(e))
      }
  }
  </code></pre>
  
  <p>in my return data I see</p>
  
  <pre><code>{
      "success":true,
      "coords:{
          "timestamp":1488757841662,
          "speed":-1,
          "longitude":173.2793426513672,
          "floor":{"level":0},
          "latitude":-41.274879455566406,
          "accuracy":65,
          "heading":-1,
          "altitude":3.9126133918762207,
          "altitudeAccuracy":10
      },
      "code":0,
      "bubbles":true,
      "type":"location",
      "source":{
          "preferredProvider":null
      },
      "cancelBubble":false
  }
  </code></pre>
  
  <p>I never see anything other than -1 in my speed or heading, which according to the documentation: "On iOS, a negative value indicates that the heading data is not valid."</p>
  
  <p>What am I doing wrong here?</p>