Как “чистое” тестирование сделано на Macintosh без виртуализации?

Одна из вещей, на которые я натыкался в Windows, - когда плагин веб-браузера или программа, которую Вы разрабатываете, делают предположение, что что-то установлено, который, по умолчанию, не всегда присутствует в Windows. Идеальным примером была бы.NET - много людей, выполняющих Windows XP, никогда не устанавливало версий.NET и таким образом, установщик должен обнаружить и исправить это при необходимости.

Путем я тестировал, это в Windows должно иметь виртуальную машину со снимком чистой, исправленной, но в других отношениях нетронутой установки XP или Vista или 7 или что бы то ни было. Когда я сделан, тестируя, я просто отменяю любые изменения начиная со снимка. Работает отлично.

Я теперь разрабатываю что-то для Macintosh, платформа, которая очень плохо мне знакома, и я вижу, что виртуализация, кажется, не опция. Это явно запрещается в EULA Mac OS X, это только позволяется с Сервера Mac OS X, который наблюдение как, как я нацелен на конечный продукт, бесполезно мне и одной программе, которую я вижу, который может виртуализировать его - VirtualBox - только поддерживает сервер и активно уничтожает любое обсуждение выполнения потребителя/версии клиента Mac OS X. И единственные инструкции, которые я нахожу где угодно по теме, кажется, включают использование "взламывания" программ, который является очень несовместимым с полностью занятым концертом, для которого я пытаюсь дать это.

Таким образом, похоже, что виртуализация отсутствует, но в различных точках я собираюсь хотеть или должен моделировать то, на что это похоже, чтобы установить и запустить это программное обеспечение на "чистом" Macintosh. Как люди обычно делают это? Просто купите несколько Макинтошей и используйте Машину времени? Я думаю об этом неправильно и всем Просто Работы?

Быть ясным

  • Я не пытаюсь запустить Mac OS X на машине Windows. У меня есть Macintosh, все хорошо с виртуализацией Mac OS X на аппаратных средствах Apple, я просто не вижу маршрут к тому, чтобы заставлять несерверную версию сделать это.
  • Я знаю, что Сервер Mac OS X может быть виртуализирован, но это не то, для чего я иду.
  • Я знаю, что существуют неофициальные/неподдерживаемые методы создания Mac OS X, запущенного в программах виртуализации как VirtualBox, но по легальным причинам я не интересуюсь теми.
  • Мой вопрос не, "как я могу сделать это?", а скорее, "таким образом, эта вещь, которую я делаю в Windows, кажется, не возможна, обычно, в Macintosh, поэтому что люди делают для достижения того, для чего я иду?"
6
задан Tom Kidd 10 June 2010 в 20:12
поделиться

4 ответа

Поскольку я сижу здесь с бесчисленными версиями различных виртуальных машин Windows на моей рабочей машине, мне это никогда не нужно на Mac. Самая большая причина - это способ развертывания приложений в пакетах на Mac. В идеале установка представляет собой копию, а при удалении приложение перетаскивается в корзину. В Windows у вас гораздо больше общего состояния между приложениями, которое необходимо учитывать, чего нет у большинства приложений на Mac. Теперь, если вы пишете драйвер устройства или VPN-клиент, или что-то, что необходимо для работы с этими частями системы, у вас нет такой роскоши.

Я действительно чувствую потребность в виртуализации, когда хочу настроить таргетинг на разные версии OS X или выполнить какую-то регрессионную проверку, чтобы увидеть, действительно ли что-то работает по-другому в версии X.Y.X.

Итак, как нам достичь того, чего вы собираетесь, по умолчанию все равно, потому что у вас нет таких же рисков из-за пакетов приложений.Или, если вам небезразлично, купите кучу внешних жестких дисков, чтобы загрузиться с них, и при необходимости замените их. (Я сделал это только один раз для двух версий OS X, поэтому не могу сказать, что это действительно промышленная практика.)

2
ответ дан 17 December 2019 в 20:29
поделиться

Вам не нужен второй Mac, вы можете просто установить вторую установку OS X на другой раздел или жесткий диск.

1
ответ дан 17 December 2019 в 20:29
поделиться

Это вообще то, для чего у вас есть «испытательный стенд». Получите второй Mac, создайте образ чистой установки, а затем установите / переустановите образ по мере необходимости.

0
ответ дан 17 December 2019 в 20:29
поделиться

Неужели я думаю обо всем этом неправильно и все просто работает?

Это не очень хороший ответ с моей стороны, но вроде как, да! На самом деле нет никаких фреймворков, которые должны быть у пользователя и которые не установлены самим приложением.

Чтобы сделать этот ответ лучше, конечно, можно виртуализировать OS X "Client", скажем, под VMWare Fusion. Из моего ответа на более старый вопрос:

VMWare Fusion может запускать клиентские виртуальные машины 10.5/10.6, но вам придется обмануть ее при установке, отредактировав установочный диск ОС.

Есть некоторые проблемы с этим методом, как перечислил тот, кто пробовал его (в основном из-за отсутствия 3D-ускорения):

  • DVD Player не работает - ошибка (-70017)
  • Большинство экранных заставок не работают.
  • Front Row Loads to Black Screen
  • Запись экрана в Quicktime выдает ошибку (OSStatus error -108)
  • Sound Does not Work Bug in all Mac os's When Virtualised
  • System Profiler не может найти много информации о компонентах системы.
  • Медленное время запуска в виртуальной среде - 20 секунд

В зависимости от требований вашего тестирования, эти проблемы могут быть или не быть решающими для вас.

Чтобы заставить VMWare думать, что клиентский диск 10.5 или 10.6 на самом деле является серверным, вам нужно отредактировать базовый образ Fusion для новых виртуальных машин:

sudo bash
cd "/Library/Application Support/VMware Fusion/isoimages"
mkdir original
mv darwin.iso tools-key.pub *.sig original
sed "s/ServerVersion.plist/SystemVersion.plist/g" < original/darwin.iso > darwin.iso
openssl genrsa -out tools-priv.pem 2048
openssl rsa -in tools-priv.pem -pubout -out tools-key.pub
openssl dgst -sha1 -sign tools-priv.pem < darwin.iso > darwin.iso.sig
for A in *.iso ; do openssl dgst -sha1 -sign tools-priv.pem < $A > $A.sig ; done
exit

Затем установить ОС:

Если вы попытаетесь установить ОС, она выдаст ошибку Eboot, поэтому вам нужно перейти к расширенной установке, нажав F8. Затем, находясь там, используйте -v -install, и она должна установиться.

-1
ответ дан 17 December 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: