Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Download and view old Apple developer documentation

How to download and view legacy documentation from Apple (no need to sign in to your dev account)

  1. Download the docset index XML.
  2. Find the docset you want (there are some with URL https://apple.com/none.dmg; ignore them - you will find them again further down the file with a working URL).
  3. Download the dmg. It's probably around a gigabyte or so.
  4. "Install" the .pkg file somewhere on your disk. If you don't trust the installer, do it manually:
    1. Find the largest file, named Payload, and extract it using The Unarchiver.
    2. This creates a new, even larger file, probably named Payload-1.
    3. Extract Payload-1 using The Unarchiver.
  5. After many minutes of extracting, we have our .docset file.
  6. Use Kapeli Dash to browse and read the docset.

Why? Because Apple's old docs are often more verbose, and because they didn't mix iOS and macOS docs into one big mess. Or just because you need good information for backward compatibility, or what the official word was back in time.

@vfig

This comment has been minimized.

Copy link

@vfig vfig commented Jan 2, 2020

Thank you! This is invaluable.

@fzwo

This comment has been minimized.

Copy link
Owner Author

@fzwo fzwo commented Jan 2, 2020

Thank you, @adurdin, for taking the time to say thanks for this little thing ☺️

@goranmoomin

This comment has been minimized.

Copy link

@goranmoomin goranmoomin commented Apr 30, 2020

This is so helpful for everyone :-)

AFAIU this is the most recent link.

For people who are wondering how to extract .pkgs, using Suspicious Package and exporting the outermost folder com.apple.adc.documentation.docset to ~/Downloads(++E) and double clicking will work as well.

image

@jigar007

This comment has been minimized.

Copy link

@jigar007 jigar007 commented Jun 27, 2020

image

@goranmoomin

This comment has been minimized.

Copy link

@goranmoomin goranmoomin commented Jun 27, 2020

@jigar007 Don’t install it, extract the .docset file in it.

@jigar007

This comment has been minimized.

Copy link

@jigar007 jigar007 commented Jun 27, 2020

@pcr910303 Thanks, done, I miss understood that first. Do you know is there any way to easily create PDF document from developer framework documentation or archive? I tried to find a lot but haven't found any solution.

@goranmoomin

This comment has been minimized.

Copy link

@goranmoomin goranmoomin commented Jun 28, 2020

@jigar007 You thinking something like my simple tool, apple-documentation-archive-scraper? It downloads PDFs like these:
Screen Shot 2020-06-29 at 1 35 44 AM
You might want to clone & use it...

@jigar007

This comment has been minimized.

Copy link

@jigar007 jigar007 commented Jun 29, 2020

@pcr910303 Thank you very much, I was looking for something like this only, but it downloads each page as a separate PDF.
I am finding something like this, python script to download so whole swift language guide as a single PDF.

I am thinking edit script to merge all the web pages before downloading as a single pdf, but I'm not good at Javascript, do you think is it possible to combine multiple pages before generating pdf by modifying your script?

@goranmoomin

This comment has been minimized.

Copy link

@goranmoomin goranmoomin commented Jun 29, 2020

@jigar007 I think it's possible by just aggregating the HTML with Promise.all, joining them and making it a PDF would be not hard, but if you don't know JS and promises it might be non-trivial.
Unfortunately I don't have the time to modify it myself.

@jigar007

This comment has been minimized.

Copy link

@jigar007 jigar007 commented Jun 30, 2020

@pcr910303 That's ok, Thank you very much for help. 🙂

@pteeson

This comment has been minimized.

Copy link

@pteeson pteeson commented Jul 25, 2020

Thank you very very much..... brilliant. I used Pacifist to examine the .pkg. and extract the docset. Totally made my day as I am working using Core MIDI and this is going to help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment