System preferences panes on Leopard

  • Hi,

    First of all I don't know if this issue is directly related to the
    purpose of this mailing list.

    During the past year I developed a system preferences pane for an
    opensource project I'm involved into. It mostly deals with starting
    and stopping some system services. I tested and used the preferences
    pane under Tiger with no problems at all.

    Over the last few days I installed it under Leopard and I've noticed
    some strange behaviour: when I build and install the prefpane it
    appears under System Preferences, as always has. When I exit and
    reopen the System Preferences application it's still there, and works
    as expected. However after a while the preferences pane doesn't show
    up on System Preferences anymore, even though it still exsists at ~/
    Library/PreferencePanes/ and the only solution is to delete it from
    there and re-install it. It will work for a while but will disappear
    afterwards.

    I don't know what has changed on Leopard regarding System Preferences
    panes, as I haven't been able to find anything on the NSPreferencePane
    Class Reference documentation.

    Best regards,

    --
    Carlos Oliva G.
    Igloo Sistemas Ltda.
    <carlos.oliva...> - http://www.igloo.cl/
  • On Jan 17, 2008 8:17 PM, Carlos Oliva G. <carlos.oliva...> wrote:
    > Over the last few days I installed it under Leopard and I've noticed
    > some strange behaviour: when I build and install the prefpane it
    > appears under System Preferences, as always has. When I exit and
    > reopen the System Preferences application it's still there, and works
    > as expected. However after a while the preferences pane doesn't show
    > up on System Preferences anymore, even though it still exsists at ~/
    > Library/PreferencePanes/ and the only solution is to delete it from
    > there and re-install it. It will work for a while but will disappear
    > afterwards.

    I develop a number of preference panes, and the only difference I've
    noticed with Leopard is the very obvious one that the UI size
    requirements have changed.  I haven't encountered anything like you
    describe.

    If the preference pane bundle is still present but not showing up in
    System Preferences, I wonder if the bundle has been modified as a
    result of some other action (perhaps as part of your build script?)
    and is no longer valid.

    Does System Preferences print anything to console when the preference
    pane is installed but not visible?  Have you tried removing System
    Preferences' cache file at
    ~/Library/Caches/com.apple.preferencepanes.cache?

    --
    Tom Harrington
    <atomicbird...>
    AIM: atomicbird1
  • El 18-01-2008, a las 13:35, Tom Harrington escribió:

    > On Jan 17, 2008 8:17 PM, Carlos Oliva G. <carlos.oliva...>
    > wrote:
    >> Over the last few days I installed it under Leopard and I've noticed
    >> some strange behaviour: when I build and install the prefpane it
    >> appears under System Preferences, as always has. When I exit and
    >> reopen the System Preferences application it's still there, and works
    >> as expected. However after a while the preferences pane doesn't show
    >> up on System Preferences anymore, even though it still exsists at ~/
    >> Library/PreferencePanes/ and the only solution is to delete it from
    >> there and re-install it. It will work for a while but will disappear
    >> afterwards.
    >
    > I develop a number of preference panes, and the only difference I've
    > noticed with Leopard is the very obvious one that the UI size
    > requirements have changed.  I haven't encountered anything like you
    > describe.
    >
    > If the preference pane bundle is still present but not showing up in
    > System Preferences, I wonder if the bundle has been modified as a
    > result of some other action (perhaps as part of your build script?)
    > and is no longer valid.

    Hi Tom,

    My preferences pane has a helper app that repairs itself (sets the
    setuid bit) and executes a couple of administrative tasks that require
    root access using AuthorizationExecuteWithPrivileges, which is the
    only way that the bundle could be modified after running the first
    time after installed.

    > Does System Preferences print anything to console when the preference
    > pane is installed but not visible?  Have you tried removing System
    > Preferences' cache file at
    > ~/Library/Caches/com.apple.preferencepanes.cache?

    I hadn't seen any related messages on the console before, but after
    removing the cache file this is what I get:

    18-01-08 14:55:35 System Preferences[5377] Preference bundle "/Users/
    carlosoliva/Library/PreferencePanes/DrQueue.prefPane" is misplaced,
    ignoring...

    Googling around about this message doesn't seem to show up anything
    relevant.

    Thanks for your help.

    Best regards,

    --
    Carlos Oliva G.
    Igloo Sistemas Ltda.
    <carlos.oliva...> - http://www.igloo.cl/
  • What are the ownership and permissions on and inside the bundle, just for kicks?

    --Kyle Sluder
  • El 18-01-2008, a las 22:45, Kyle Sluder escribió:

    > What are the ownership and permissions on and inside the bundle,
    > just for kicks?

    Hi Kyle,

    The permissions on all files and directories are right, what strikes
    me as odd is that after installing the preferences pane it works with
    no problems at all, however after a while it stops appearing on the
    System Preferences application, and the following message appears on
    the console:

    18-01-08 14:55:35 System Preferences[5377] Preference bundle "/Users/
    carlosoliva/Library/PreferencePanes/DrQueue.prefPane" is misplaced,
    ignoring...

    I don't know what could be misplaced, the installed bundle is exactly
    the same as the original one, just built from Xcode. I ran a diff -r
    comparission between both of them and there are no differences between
    them. The permissions are the same as well, anything at all has
    changed on the bundle before it disappeard from System Preferences.

    Just FYI, removing the installed prefpane from ~/Library/
    PreferencePanes/ and manually copying the 'new' one over there doesn't
    do any good - however removing it and opening the new one so that
    System Preferences prompts if it should be installed for the current
    user or for all users of the computer works. However after a while it
    disappears again.

    When running the prefpane works perfectly as expected.

    Best regards,

    --
    Carlos Oliva G.
    Igloo Sistemas Ltda.
    <carlos.oliva...> - http://www.igloo.cl/
  • On 19.01.2008, at 07:42, Carlos Oliva G. wrote:
    > The permissions on all files and directories are right,

      Well, you think they're right. But what *are* the permissions it
    has? :-)

      And do they maybe change between when it works and when it doesn't
    anymore?

      And have you signed your PrefPane?

      How are you installing it? Does it make a difference whether you
    install it using an installer (if that's what you're doing), or
    manually, or by double-clicking the PrefPane and having System
    Preferences.app install it?

    Cheers,
    -- M. Uli Kusterer
    "The Witnesses of TeachText are everywhere..."
    http://www.zathras.de
  • El 19-01-2008, a las 10:48, Uli Kusterer escribió:

    > On 19.01.2008, at 07:42, Carlos Oliva G. wrote:
    >> The permissions on all files and directories are right,
    >
    > Well, you think they're right. But what *are* the permissions it
    > has? :-)

    Believe me they are :)

    <carlosoliva...>:~/Library/PreferencePanes/DrQueue.prefPane$ ls
    -laR
    .:
    total 0
    drwxr-xr-x 3 carlosoliva carlosoliva 102 Jan 18 15:09 ./
    drwxr-xr-x 8 carlosoliva carlosoliva 272 Jan 18 19:15 ../
    drwxr-xr-x 5 carlosoliva carlosoliva 170 Jan 18 15:09 Contents/

    ./Contents:
    total 4
    drwxr-xr-x 5 carlosoliva carlosoliva 170 Jan 18 15:09 ./
    drwxr-xr-x 3 carlosoliva carlosoliva 102 Jan 18 15:09 ../
    -rw-r--r-- 1 carlosoliva carlosoliva 951 Jan 18 15:09 Info.plist
    drwxr-xr-x 4 carlosoliva carlosoliva 136 Jan 18 15:09 MacOS/
    drwxr-xr-x 4 carlosoliva carlosoliva 136 Jan 18 15:09 Resources/

    ./Contents/MacOS:
    total 120
    drwxr-xr-x 4 carlosoliva carlosoliva  136 Jan 18 15:09 ./
    drwxr-xr-x 5 carlosoliva carlosoliva  170 Jan 18 15:09 ../
    -rwxr-xr-x 1 carlosoliva carlosoliva 70972 Jan 18 15:09 DrQueue*
    -rwxr-xr-x 1 carlosoliva carlosoliva 47604 Jan 18 15:09 dqhelper*

    ./Contents/Resources:
    total 8
    drwxr-xr-x 4 carlosoliva carlosoliva  136 Jan 18 15:09 ./
    drwxr-xr-x 5 carlosoliva carlosoliva  170 Jan 18 15:09 ../
    -rw-r--r-- 1 carlosoliva carlosoliva 4400 Jan 18 15:09 DrQueuePref.tiff
    drwxr-xr-x 4 carlosoliva carlosoliva  136 Jan 18 15:09 English.lproj/

    ./Contents/Resources/English.lproj:
    total 4
    drwxr-xr-x 4 carlosoliva carlosoliva 136 Jan 18 15:09 ./
    drwxr-xr-x 4 carlosoliva carlosoliva 136 Jan 18 15:09 ../
    drwxr-xr-x 5 carlosoliva carlosoliva 170 Jan 18 15:09 DrQueuePref.nib/
    -rw-r--r-- 1 carlosoliva carlosoliva 230 Jan 18 15:09 InfoPlist.strings

    ./Contents/Resources/English.lproj/DrQueuePref.nib:
    total 20
    drwxr-xr-x 5 carlosoliva carlosoliva  170 Jan 18 15:09 ./
    drwxr-xr-x 4 carlosoliva carlosoliva  136 Jan 18 15:09 ../
    -rw-r--r-- 1 carlosoliva carlosoliva 1365 Jan 18 15:09 classes.nib
    -rw-r--r-- 1 carlosoliva carlosoliva  571 Jan 18 15:09 info.nib
    -rw-r--r-- 1 carlosoliva carlosoliva 9812 Jan 18 15:09 keyedobjects.nib

    > And do they maybe change between when it works and when it doesn't
    > anymore?

    I ran a diff -qr between the 'fresh', Xcode built version and the
    installed one after it stopped working: there are no differences
    between them at all.

    > And have you signed your PrefPane?

    I don't really know how to do that.

    > How are you installing it? Does it make a difference whether you
    > install it using an installer (if that's what you're doing), or
    > manually, or by double-clicking the PrefPane and having System
    > Preferences.app install it?

    Yes, it makes a difference. When I install it via double-click, and
    System Preferences asks if it should be installed for the current user
    or all users on the system, it then works for a while. After an hour
    or so it stops appearing on System Preferences. If I remove the
    installed prefpane, and manually copy the 'fresh' one on its place, it
    still doesn't work. If after removing it I double-click and reinstall
    the 'fresh' one then it works again for an hour or so.

    Best regards,

    --
    Carlos Oliva G.
    Igloo Sistemas Ltda.
    <carlos.oliva...> - http://www.igloo.cl/
previous month january 2008 next month
MTWTFSS
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Go to today