"Swift Programming Language" iBook Not Updating
I've recently been researching Swift development as I have grown tired of Objective-C. However, the book I am reading (Apple's official guide) will not update to the latest version on my Mac. It updates fine on my iPhone, but it still has the same version from June that I initially downloaded on my Mac. Is there any way to update it?
I have tried deleting and re-downloading the book, and there is still no update option from the Downloads menu. I tried viewing in the iBooks Store—there is definitely a new version available. When I have iBooks check for available downloads, it says that I have downloaded all Updates and Purchases. Suggestions?
You should be able to download a fresh copy by right-clicking on the book and selecting Delete
. Then once the delete is complete, right-clicking and choosing Download "The Swift Programming Language"
.
Alternatively...
All books downloaded through iBooks are stored in the following folder.
/Users/YOURUSERNAME/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books
On both my Macs the Swift Programming Language book is contained in a folder called 881256329.epub
. You can confirm this is the same on your Mac by checking the iTunesMetadata.plist file in that folder. You should see the book title towards the end of the file.
Close iBooks and delete this folder.
Then open iBooks again and try to open the book. iBooks will tell you This book can't be found. The original file can't be found.
Then if you try to access the book again, iBooks will download a fresh copy.
If you've tried deleting the book and downloading it again, but it still appears to be an old version, it may just be that the wrong cover art is showing in your Library (as @peacetype mentioned in a comment). That particular problem still affects me (and no doubt others) in 2019 (macOS Mojave 10.14.5 and Books 1.19).
I couldn't find any information online about where this old cover art is being cached, so I went digging myself, and eventually found it here:
/Users/YOURUSERNAME/Library/Containers/com.apple.iBooksX/Data/Library/Caches/com.apple.iBooksX/ic-BKLibraryImageSource-2.cache
Quit the Books app, drag this file to the trash, and relaunch Books.
When my Library first appeared a few of the covers were momentarily greyed out, and within a few seconds, the correct covers appeared. My Swift Programming Language book cover finally says 'Swift 5 Edition' (instead of 4.1 or whatever it was before.)