This repository was archived by the owner on Sep 2, 2020. It is now read-only.
Converse API, Tests, Clean Up
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.