We're currently observing some crashes in production, mostly reported as EXC_BAD_ACCESS (accessing garbage memory).
The diff is reviewable commit by commit, but in a nutshell:
integer overflow bug is fixed
we're adding a dispatch queue for accessing self.samples instead of relying on locking. The current code throws when self.examples are being mutated while copied
HTTP sessions are reused (and shareable) with your main app, instead of making one HTTP session per each request
@try/catch is removed in favor of early bailing out if data passed to NSJSONSerialization is nil. This is a design flaw in Objc/Foundation where a method takes an error pointer but also throws exceptions. Exceptions are a known cause of memory leaks in Objc and should be avoided.
We're currently observing some crashes in production, mostly reported as EXC_BAD_ACCESS (accessing garbage memory).
The diff is reviewable commit by commit, but in a nutshell: