FROM : Jean-Daniel Dupas
DATE : Mon Mar 03 18:29:42 2008
Le 3 mars 08 à 18:18, Mattias Arrelid a écrit :
> On 3 mar 2008, at 18.14, Nir Soffer wrote:
>
>> On Mar 3, 2008, at 18:24, Mattias Arrelid wrote:
>>
>>> I have an application that I need to restart.
>>
>> Why do you want to do that?
>
> A scenario could be that the entire contents of the .app bundle has
> been replaced with new stuff (e.g. the case with Sparkle).
>
>>> An easy way to do this could be:
>>>
>>> [[NSWorkspace sharedWorkspace] launchApplication:executablePath];
>>> [NSApp terminate:self];
>>>
>>> The problem is that the above solution results in confusion in the
>>> system dock; sometimes the original application does manage to
>>> quit before the new instance, other times not. If it does NOT
>>> manage to quit before the new one is launched, the dock ends up
>>> with two icons for my application; one that indicates that the
>>> application is launched, another one that's indicates that it's
>>> not launched. This is NOT good.
>>>
>>> I've seen other programs in need of a restart (e.g. the Sparkle
>>> framework) using a separate helper application that simply checks
>>> whether the original process has quit properly before re-launching
>>> it. This sure does work, but it isn't a pretty solution.
>>
>> Seems pretty to me. You want use a separate process to make this
>> work reliably.
>
> It works, but I'd say it was prettier if there was a framework call
> to accomplish this.
Fill a feature request ;-)
DATE : Mon Mar 03 18:29:42 2008
Le 3 mars 08 à 18:18, Mattias Arrelid a écrit :
> On 3 mar 2008, at 18.14, Nir Soffer wrote:
>
>> On Mar 3, 2008, at 18:24, Mattias Arrelid wrote:
>>
>>> I have an application that I need to restart.
>>
>> Why do you want to do that?
>
> A scenario could be that the entire contents of the .app bundle has
> been replaced with new stuff (e.g. the case with Sparkle).
>
>>> An easy way to do this could be:
>>>
>>> [[NSWorkspace sharedWorkspace] launchApplication:executablePath];
>>> [NSApp terminate:self];
>>>
>>> The problem is that the above solution results in confusion in the
>>> system dock; sometimes the original application does manage to
>>> quit before the new instance, other times not. If it does NOT
>>> manage to quit before the new one is launched, the dock ends up
>>> with two icons for my application; one that indicates that the
>>> application is launched, another one that's indicates that it's
>>> not launched. This is NOT good.
>>>
>>> I've seen other programs in need of a restart (e.g. the Sparkle
>>> framework) using a separate helper application that simply checks
>>> whether the original process has quit properly before re-launching
>>> it. This sure does work, but it isn't a pretty solution.
>>
>> Seems pretty to me. You want use a separate process to make this
>> work reliably.
>
> It works, but I'd say it was prettier if there was a framework call
> to accomplish this.
Fill a feature request ;-)
| Related mails | Author | Date |
|---|---|---|
| Mattias Arrelid | Mar 3, 17:24 | |
| Nir Soffer | Mar 3, 18:14 | |
| Mattias Arrelid | Mar 3, 18:18 | |
| Jean-Daniel Dupas | Mar 3, 18:29 | |
| John Stiles | Mar 3, 18:38 | |
| Steven Degutis | Mar 3, 20:43 | |
| Michael Ash | Mar 3, 23:22 | |
| Steven Degutis | Mar 4, 02:48 | |
| Joe Ranieri | Mar 4, 03:27 | |
| Mattias Arrelid | Mar 4, 12:10 | |
| Michael Ash | Mar 4, 17:11 |






Cocoa mail archive

