Не идите туда. Как долгосрочный разработчик Mac, я могу уверить Вас, никакое решение действительно не работает хорошо. Я попробовал столько решений, но они - все не слишком хорошие. Я думаю, что проблема состоит в том, что Apple действительно не документирует формат метаданных для необходимых данных.
Вот то, как я делаю его в течение долгого времени, очень успешно:
Создают новый DMG, writeable(!), достаточно большой для содержания ожидаемых двоичных и дополнительных файлов как readme (редкий мог бы работать).
Монтируют DMG и дают его, расположение вручную в Средстве поиска или с любыми инструментами подходит Вам для того, чтобы сделать это (см., что FileStorm связывается в нижней части для хорошего инструмента). Фоновое изображение обычно является изображением, которое мы помещаем в скрытую папку (" .something") на DMG. Поместите копию своего приложения там (любая версия, даже устаревший сделает). Скопируйте другие файлы (псевдонимы, readme, и т.д.) Вы хотите там, снова, устаревшие версии сделают очень хорошо. Удостоверьтесь, что значки имеют правильные размеры и положения (IOW, расположение DMG путем, Вы хотите, чтобы он был).
Размонтирование DMG снова, все настройки должны быть сохранены к настоящему времени.
Запись создавание сценария DMG, который работает следующим образом:
Этот метод не может звучать оптимальным, но доверять мне, он работает действительно хорошо на практике. Можно поместить исходный DMG (шаблон DMG) даже при управлении версиями (например, SVN), поэтому если Вы когда-нибудь случайно изменяетесь/уничтожаете его, можно просто вернуться к пересмотру, где это было все еще хорошо. Можно добавить шаблон DMG к проекту XCode, вместе со всеми другими файлами, которые принадлежат на DMG (readme, файл URL, фоновое изображение), все при управлении версиями и затем создают цель (например, внешняя цель, названная ", Создают DMG"), и там выполните сценарий DMG вышеупомянутых и добавьте старую основную цель как зависимую цель. Можно получить доступ к файлам в дереве XCode использование $ {SRCROOT} в сценарии (всегда исходный корень продукта), и можно получить доступ к продуктам сборки при помощи $ {BUILT_PRODUCTS_DIR} (всегда каталог, где XCode создает результаты сборки).
Результат: На самом деле XCode может произвести DMG в конце сборки. DMG, который готов выпустить. Не только можно создать повторно генерирование DMG, довольно легкого тот путь, можно на самом деле сделать так в автоматизированном процессе (на бездисплейном сервере, если Вам нравится), с помощью xcodebuild из командной строки (автоматизировал ночные сборки, например).
Относительно начального расположения шаблона, FileStorm является хорошим инструментом для того, чтобы сделать его. Это является коммерческим, но очень мощным и простым в использовании. Нормальная версия составляет меньше чем 20$, таким образом, это действительно доступно. Возможно, можно автоматизировать FileStorm для создания DMG (например, через AppleScript), никогда не пробовал это, но как только Вы нашли идеальный шаблон DMG, действительно легко обновить его для каждого выпуска.
TCP:
Размер Ethernet-кадра - 24 байта
Размер заголовка IPv4 (без параметров) - 20 байт
Размер заголовка TCP (без каких-либо опций) - 20 байтов
Общий размер кадра Ethernet, содержащего IP-пакет с пустым сегментом TCP - 24 + 20 + 20 = 64 байта
UDP:
Размер Ethernet кадр - 24 байта
Размер заголовка IPv4 (без параметров) - 20 байт
Размер заголовка UDP - 8 байтов
Общий размер кадра Ethernet, переносящего IP-пакет с пустой дейтаграммой UDP - 24 + 20 + 8 = 52 байта
См. Протокол дейтаграмм пользователя . Заголовок UDP имеет длину 8 байтов (64 бита).
Минимальный размер чистого заголовка TCP составляет 5 слов (32-битное слово), а максимальный размер заголовка TCP составляет 15 слов.
С наилучшими пожеланиями, Фабиан
Артелиус и Халфдан верны, но вы кое-что упускаете: UDP и TCP работают поверх некоторого физического транспорта. Например, если вы используете UDP через Ethernet, вы также должны указать размер Ethernet-кадра