Skip to content
This repository was archived by the owner on Sep 2, 2020. It is now read-only.

Converse API, Tests, Clean Up

Compare
Choose a tag to compare
@hactar hactar released this 31 Mar 21:37
· 45 commits to master since this release

Features

  • Converse API: Support for the new converse API.
  • ULaw Compression Support: On LTE and WiFi, the SDK continues to use uncompressed PCM, but on 3G and below the SDK now uses ULaw compression, which majorly increases speed (x2-3) on slow connections (sound quality loss appears not to affect recognition quality in my tests)
  • WitMicButton Color: WitMicButton now respects tintColor property, so you can color it to match the app (used to be #48)
  • Uploads Fixed: The old uploader did not enqueue chunks after the stop button was pressed, this fixes this issue
  • Recorder Buffer Enqueue Fixed: This solves issue #54
  • Fixed Tests: The old tests were completely broken, this now has one working test using XCTest, its not much but can get people started for more tests now. Solves #10, #13
  • VadTracker: The VadTracker was broken (sent errors if the user manually stopped recording) so calls to it have been removed. Solves issue #59
  • Delegate Callback Order: The record stopping and did grasp intent callbacks were being called in a different order depending on if there was an error or not, this has been fixed.
  • Pull Request #68: Includes and improves this pull request (retain cycles, install warnings). This fork now really does cleanly work and install without warnings for new people downloading it.
  • Quieter: Less NSLog, more debug.

Caveats

There are a few changes I made that might not make everyone happy:

  • iOS 7.0 and above: Previous was 6.0, but the CoreTelephony stuff for connection speed detection is only available in iOS 7. iOS 7,8,9 has a very high adoption rate anyway.
  • Pod dependency on GCNetworkReachability: Needed for connection speed detection.
  • Context Setter no longer sets user location: I don't know why the SDK did this as it's a privacy issue - if the developer wants to share the location of the user with wit then this should be optional and not "default on" in my opinion. I have had no issues with running the SDK without setting this context.