1.2.3 - Core Data Migration Related Crash Fixes
This is a release solely to fix a crash related to database migration in iOS 7.
iOS 7 switched the SQLite backing store for Core Data to use write ahead logging (WAL), which make the datastore no longer consist of a single file, but several. When performing database migrations, we were creating an upgraded database then moving it into the location of the old database. Unfortunately, the -wal
and -shm
sidecar files that now accompanied that old database were there alongside the new upgraded database. Since these were no longer valid when SQLite tried to load them along with the new database, there were some weird exceptions and crashes happening.
This release attempts to fix those problems. All new databases are created with the previous iOS default, DELETE mode. When we migrate databases with WAL mode set, we now delete the -wal
and -shm
sidecars before moving the new database into place. We also attempt to detect corrupt databases in existing installations and remove them if they exist. Finally, we've added a canary to tell us if we crashed while setting up our database. If we did, we delete the database and start it over from scratch.
Fixes:
- Issue #71 SQLite error in Apptentive DB
This release also contains all changes from v1.2.2, which has been removed due to the Core Data issue explained above.
v1.2.2 focused on adding upgrade messages support. See the readme for information on how to use this feature.
We also added custom data on individual messages. See the docs/APIChanges.md for details.
Note that you'll need to add Accelerate.framework to your project now, if it's not already there.
Fixes:
- IOS-202 UIActionSheet not dismissing in photo selector is causing crash
- Fixes Issue #62 Make font fits width on message composer screen
- IOS-222 Generalized engagement framework for interactions
- IOS-223 UpgradeMessage UI: Display a message when users upgrade their app to the latest version
- IOS-230 Message hyperlinks are not clickable on iOS
- IOS-237 Support for custom data on messages
- IOS-240 FeedbackDemo: Change text for after they click 'Rate'
- IOS-241 FeedbackDemo: Remove the beta symbol
- IOS-249 Ensure background message fetch doesn't resurrect task queue
- IOS-252 Crash when canceling photo selection on iPad + iOS 7
- IOS-254 "We're Sorry!" message cut off on iPad
- IOS-257 Message Center read event not including message ID
- IOS-258 3rd-Party notification services configuration