【问题标题】:Selectively displaying Installerpane of an installerplugin at runtime在运行时有选择地显示安装程序插件的安装程序窗格
【发布时间】:2013-06-23 03:20:04
【问题描述】:

我已经编写了一个安装程序插件来在 pkg 安装程序中显示一个自定义窗格。我只想在第一次安装时显示窗格并在升级时隐藏它。我知道如何确定软件包是否已安装,但我无法根据运行时决策找出显示/隐藏安装程序窗格的逻辑。

我能想到的一种方法是installerplugin 包含一个名为parentSection 的Installersection 插座。并且installersection 类有一个函数shouldload,它的返回值决定了该部分是否应该被加载。而这个article 提到可以重载installersection 方法。但是我想不出一种方法来重载函数,因为 parentSection 只是安装程序窗格类中的一个对象。

【问题讨论】:

    标签: macos installation pkg-file


    【解决方案1】:

    尽管 sanmukh 提出这个问题已经有几个月了,但我想我会发布答案,因为我想出了如何做到这一点。

    解决方案确实是继承 InstallerSection 并覆盖 shouldLoad 方法。要使用它,您必须编辑插件的 Info.plist 文件并将“NSPrincipalClass”(或出现在 Xcode 4 中的“主体类”)的条目更改为新的 InstallerSection 派生类。之后,当您的包加载时,将调用新的 shouldLoad 方法,允许您以编程方式决定安装程序窗格是否应该可见。

    【讨论】:

    • 谢谢。目前我正在使用一种解决方法,通过gotoNextPane() 方法跳转到下一个窗格,我也会尝试这个。
    • 请注意 shouldLoad() 自 Catalina (10.15) 以来被忽略:s.sudre.online.fr/Software/Packages/Q&A_8.html
    猜你喜欢
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多