When you transfer a new version of an ePub file into iBooks, it can fail to recognise the new information. Generally I find this to be a problem when fine-tuning CSS in order to improve a layout, because iBooks refuses to show my changes, making the edit-debug cycle incredibly frustrating; the last thing you want to see is the previous version of the book you’re developing. In Handcrafted Ebooks I mentioned that exiting iBooks and running different software would fix this. Unfortunately, this no longer works reliably with iBooks v1.2 and IOS 4.2, both of which were recently rolled out by Apple. Maybe it’s something to do with IOS 4.2’s multi-tasking abilities, allowing iBooks to cling more tenaciously than ever to phantom data; for whatever reason this problem now seems harder to clear by loading other applications.
Happily, the IOS 4.2 Task Manager (aka the Multitasking App Tray) lets you work around this as follows: exit iBooks, double-tap the Home button, and you will see a list of recent applications that includes iBooks. In this list, press and hold the iBooks icon until the red-circled ‘-’ sign appears, then tap that sign. The iBooks application should close, and vanish from the list. Double-tap Home to exit the App Tray, then re-start iBooks and re-open the book you’re working on. So far, this has worked reliably for me — and saved a lot of hair-pulling when incrementally testing new ePub versions.
Update, February 2011: iBooks version 1.2.1 seems to have improved the above issue. I now find that the following sequence is usually sufficient: 1. close the book in iBooks, returning to the app’s Library view. 2. Delete the old version of the book from within iTunes. 3. Drag the new version of the book into iTunes and wait for it to sync. 4. Open the book in iBooks. However, the occasional glitch can still occur, so you might still need to resort to the old method.