17

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?

4
  • Is there any chance you're signed into a different Store account?
    – samh
    Commented Aug 6, 2014 at 14:23
  • No, I'm definitely signed in to my own. I checked.
    – aaplmath
    Commented Aug 6, 2014 at 14:23
  • Are you certain you have the old version on your Mac? Aside from comparing the content I can't see an easy way to tell which version you have. Locate the Document Revision History section of the book. Check the latest update to that section, if it is dated 2014-08-04 then you have the latest version. Commented Aug 6, 2014 at 20:21
  • You just the old copy. It will download a fresh updated copy. I have tried that and it works. You can check the revision history at Document Revision History inside the book.
    – Pratik
    Commented Aug 7, 2014 at 7:29

3 Answers 3

12

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.

4
  • It has been 3 hours since I start to fix the problem. The above answer didn't help either :( Commented Sep 23, 2016 at 22:21
  • 1
    Deleting the book and then re-downloading should work. Make sure to open the book and look in the Version Compatibility section to see what version of Swift it's referring to. The book cover can be misleading. Apple's Books app has had a chronic problem with the wrong covers showing in the app. With this book, the cover may say it's for an older version of Swift, but if you check inside the book you should see that it is the current version.
    – peacetype
    Commented Feb 2, 2019 at 23:54
  • Five years later and the problem still persists. This solution didn't work for me.
    – Phil
    Commented Apr 22, 2019 at 3:26
  • 1
    Thanks @peacetype. I found you can also see the correct cover by dragging a copy of the book to the desktop and previewing it in Finder, however this doesn't fix the issue in the Books app itself. I've posted a solution that worked for me below.
    – Kal
    Commented Jun 12, 2019 at 1:42
2

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.)

-1

Using the terminal:

1.- Go to ~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/

2.- Find out which folder contains the Book and go into

3.- Execute: zip -rqX ~/path/to/store/the/Swift.epub .

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .