Closed tafh closed 4 years ago
Where the crash log?
Here you go:
✅-[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <+XX.XXXXXX,+X.XXXXXXX> +/- 65.00m (speed -1.00 mps / course -1.00) @ 11/09/2019, 13:42:30 British Summer Time 2019-09-11 13:42:30.441333+0100 MyApp[5352:2010775] ✅-[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <+XX.XXXXXX,+X.XXXXXXX> +/- 65.00m (speed -1.00 mps / course -1.00) @ 11/09/2019, 13:42:30 British Summer Time ℹ️-[TSConfig persist] 2019-09-11 13:42:30.443148+0100 MyApp[5352:2010782] ℹ️-[TSConfig persist] 2019-09-11 13:42:30.444093+0100 MyApp[5352:2010807] Terminating app due to uncaught exception 'FIRInvalidArgumentException', reason: 'Collection path cannot be nil.' First throw call stack: (0x18fd35c20 0x18fa500c8 0x100ad01f8 0x1008a2a04 0x1008d1dc0 0x1005a4f38 0x103099e48 0x10309b2a8 0x1030acccc 0x1030ad418 0x18fa42a60 0x18fa48c78) libc++abi.dylib: terminating with uncaught exception of type NSException
Try installing from branch ios-default-collections
ionic cordova plugin add https://github.com/transistorsoft/cordova-background-geolocation-firebase.git#ios-default-collections
What exactly is different in this branch? (I was not able to spot any differences)
Forgot the commit. Try again.
Let me know if that branch fixes your issue so I can release it to npm.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. You may also mark this issue as a "discussion" and I will leave this open.
Closing this issue after a prolonged period of inactivity. Fell free to reopen this issue, if this still affecting you.
Your Environment
Actual Behavior
On iOS not configuring either the locationsCollection or geofencesCollection can result in a crash when it tries to write the log to the not configured collection.
Expected Behavior
This should not crash the app. And remind the developer to configure the collectionName.
Steps to Reproduce
Don't configure the geofencesCollection like so:
bgGeoFirebase.configure({ locationsCollection: 'geopositions', });
Now trigger a geofence. This will crash the app.
Solution
You should check if the collectionName is not nil in the onPersist method (and give the developer a hint to configure the collection). So it will not try to write the a 'nil' path.
ps on Android I did not encounter this problem.