By default, the latest Mac portables now ship sans an optical drive. There are also those who have older Mac portables which shipped with optical drives which have either broken down or the owner has elected to extend the life of their beloved Mac portables by displacing the optical drive with an additional hard drive (HDD) or Solid State Drive (SSD) by adding a third party hard drive caddy.
Notwithstanding which situation you are in, Apple (obviously) encourages the purchase of Apple’s own external USB SuperDrive either as an add-on option or replacement, respectively.
As good as Apple USB SuperDrives are, most opt to purchase non-Apple external USB optical drives, since more often than not the price point makes more sense.
Provided the third party USB optical drive is compatible with OS X, for most part there usually isn’t much fuss or muss in the realm of burning CDRs or DVRs or reading data CDRs or DVRs – most times it truly is a plug and play affair.
The trouble really only becomes apparent when a movie DVD is inserted into the USB optical drive and an attempt is made to view the movie using the Apple DVD Player application.
That’s when users gawk when they see this:
Note: this is not the signal to panic and go running back to the store you bought your third party USB optical drive at to scream at the vendor for claiming that it was “OS X compatible”.
Nine times out of ten, the USB optical drive is not at fault.
OS X is.
Apple Inc has fiendishly encoded a check into OS X to verify whether the attached USB optical drive is in fact an Apple USB SuperDrive. If not, ‘tell the user that DVD Player will not play nice’ which translated in OS X speak is “A valid DVD drive could not be found [-70012]”.
There is a workaround but be fair warned that it is quite a geeky one.
You will need to modify some code embedded into OS X’s DVDPlayback framework; essentially replacing the words “internal” with “external”.
This sounds easy on the face of it, but here comes the geeky part – its not written in regular human English – its written in Hexadecimal programming language, or Hex for short.
Telling OS X DVDPlayback Framework to Work With External Optical Drives
- To access, read and write the DVDPlayback framework file you will need to download a free Hex editor app, 0xed by Suavetech
- Before you begin make sure you have a way to revert, backup the original DVDPlayback framework file first; in Finder hit Shift + CMD + G, copy and paste the file path “/System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback” into the Go to Folder field
- Copy and paste the DVDPlayback file to your Desktop or somewhere else in your Mac (its advisable to rename the file to indicate that its a backup of the original version e.g. “DVDPlayback_orignal_file”
- Open the original DVDPlayback file using 0xed – to do this simply open another Finder window to the Applications folder, ensure that the 0xed application icon is visible then simply drag and drop the DVDPlayback file over the 0xed application icon. If you have done this correctly 0xed should launch and look something like this:
- What we want to do next is Find and Replace all the words “internal” with “external” within this Hexadecimal language DVDPlayback framework file. In 0xed hit CMD + F and then type “internal” in the Find field and type “external” in the Replace field. Leave the “Ignore Case” field checked. Repeat until you have replaced all the words “internal” with “external”.
- OS X will not allow you to overwrite the existing DVDPlayback file from 0xed. You must perform a Save As to save your now modified DVDPlayback framework to somewhere else on your Mac first, e.g. Desktop. Quit 0xed and drag and drop the modified DVDPlayback file to replace the existing. Enter your admin username and password when prompted (you may also be prompted to enter your admin password to modify this file)
- Plug in your USB optical drive and give it a try
If somewhere along the way this either doesn’t work or you messed up, open Finder to the DVDPlayback framework file location and copy and paste your backup DVDPlayback over the original.
Remember to rename the backup to correspond to its original name, “DVDPlayback” and when prompted, agree to Replace the existing DVDPlayback file.
Also, if for some reason you have re-installed/repaired your original SuperDrive back into your Mac portable, redo the above process but instead of replacing “internal” with “external”, this time replace “external” with “internal” to reverse the process and get DVD Player working with your internal SuperDrive again.
Note: from our limited tests it appears that Apple Inc has been a little more generous on systems that originally ship sans optical drives by not imposing the check to ensure that only Apple SuperDrives work in conjunction with DVD Player.
Its best to test it out first before committing the above ‘fix’. As the old idiom goes, “if it ain’t broken, don’t fix it”.
Update 25 July 2015: Tested that this method still works in OS X 10.10.4, Yosemite. However, if you still face problems trying the above method, what you can do is download this already modified version of DVDPlayback framework file.
Make sure before anything backup your existing DVDPlayback framework file according to the above instructions, then copy and replace the downloaded modified DVDPlayback framework file over the existing one.
Connect your external USB optical drive, insert your DVD. Sit back and enjoy…