You should use Crashlytics
Marc from Crashlytics here. If the app crashes without an active network connection, the report will still be caught! We always send crash reports on launch when there's an active connection. If that fails, we'll queue it to send later. :)