Mac OS X,  Mass Deployment

Debugging and Deploying iBooks

Just got to do my first troubleshooting for the iBooks app in OS X. Wasn’t a ton of info, so went digging for the debug menu that has become a staple of so many Apple apps. And it turns out that it was there. Looking at the plist for iBooksX prefs:

defaults read com.apple.iBooksX

This shows that we can go ahead and deploy a key to suppress the welcome screen (nice little deployment note made there) and a few other things. But what I was looking for is that BKShowDebugMenu key

{
BKAlreadyDisplayedWelcomeExperience = 1;
"BKBookshelfCategoryManager~012384" = 1;
BKBookshelfViewControllerFilterAction = 5;
BKBookshelfViewControllerSortAction = 1;
BKShowDebugMenu = 0;
BKSimulateCrashDuringMigration = 0;
LibraryCountDate = "2013-11-03 03:26:26 +0000";
}

Let’s just turn that sucker on:

defaults write com.apple.iBooksX BKShowDebugMenu -boolean TRUE

And then viola, the next time iBooks opens there’s a nice little Debug menu. Here, I was able to click Migrate from iTunes again (the option in the File menu didn’t work for me) and before you know it, all the titles that didn’t migrate over the first time magically appeared.

Screen Shot 2013-10-26 at 10.27.06 PM

Hope this helps someone. Also, if you want to suppress the “welcome experience” in iBooks during deployment:

defaults write com.apple.iBooksX BKAlreadyDisplayedWelcomeExperience -boolean TRUE

Finally, if you’re looking for a key that you can use to verify that a computer has actually logged in with an iTunes account in iBooks (could be helpful for keying off things in scripts or whatever), note that a CachedStorefrontID key (and a couple of other cached keys) is created when iBooks accesses the store or an AppleID for the first time.