Динамическая библиотека - это базовая концепция, в основном независимая от конкретной платформы, то есть вы можете говорить о динамических библиотеках в OSX, Linux, Windows и иметь в виду то же самое - кусок перемещаемого объектного кода с экспортированными символами API, который состоит из способ, позволяющий загружать его и делиться по требованию с приложениями на платформе.
Фреймворк - это термин, специфичный для OSX. Это пакет, который определяет некоторые общепринятые структуры каталогов и хранит динамические библиотеки, ресурсы, описание пакета и другие соответствующие материалы в заранее определенных местах. Это означает, что он имеет в основном семантическое значение, которое позволяет разработчикам (и инструментам, которые они создают) ссылаться на него общепринятым способом. Стоит отметить, что фреймворк вовсе не обязан содержать разделяемые библиотеки.