2012-04-25 3 views
2

Я написал программу установки, чтобы отобразить пользовательскую панель в установщике pkg. Я хочу отображать панель только во время первой установки и скрывать ее при обновлении. Я знаю, как узнать, был ли пакет уже установлен или нет, но я не могу понять логику отображения/скрытия installerpane на основе решения времени исполнения.Выборочное отображение Installerpane installerplugin во время выполнения

Один из способов, о котором я мог думать, заключается в том, что установочный модуль содержит в себе узел Installersection, называемый parentSection. И класс installersection имеет функцию loadload, возвращающее значение которой определяет, должен ли раздел загружаться или нет. И этот article упоминает, что методы установки могут быть перегружены. Но я не могу думать о том, как перегрузить функции, поскольку parentSection - это всего лишь объект внутри класса installerpane.

ответ

3

Даже если прошло несколько месяцев с тех пор, как санмух задал этот вопрос, я решил, что опубликую ответ, поскольку я понял, как это сделать.

Решение действительно относится к подклассу InstallerSection и переопределяет метод shouldLoad. Чтобы использовать его, вы должны отредактировать файл Info.plist вашего плагина и изменить запись для «NSPrincipalClass» (или «Основной класс», как он появился в Xcode 4), чтобы быть вашим новым производным классом InstallerSection. Впоследствии, когда ваш пакет загружается, будет вызываться новый метод toLoad, позволяющий вам программно решить, должна ли быть видна панель установщика.

+0

Спасибо. В настоящее время я использовал обходной путь, в который я переходил на следующую панель методом 'gotoNextPane()', попробует и этот. – sraok

Смежные вопросы