FROM : Steve Christensen
DATE : Sat May 24 23:13:23 2008
My version wasn't about using the path for something else; it was
only about providing a method that doesn't care what the iTunes
application is called. For example, if someone were to rename it
"iTunes 7.6.2", then your version would stop working.
However, as Thomas Engelmeier pointed out in a separate message,
Apple doesn't currently localize the names of its iApps so you're
probably safe.
On May 24, 2008, at 12:17 PM, Mr. Gecko wrote:
> because I do not need the path for what I am doing.
>
>
>>
> On May 24, 2008, at 2:05 PM, Steve Christensen wrote:
>
>> Would something like this work better? It should deal with
>> localization or if the user renames iTunes for some reason.
>>
>> iTunesIsOpen = NO;
>> NSWorkspace* workspace = [NSWorkspace sharedWorkspace];
>> NSString* iTunesPath = [workspace
>> absolutePathForAppBundleWithIdentifier:@"com.apple.iTunes"];
>> NSArray* lApplications = [workspace launchedApplications];
>> int lAppsCount = [lApplications count];
>> int a;
>> for (a = 0; a < lAppsCount; a++)
>> {
>> NSDictionary* applicationD = [lApplications objectAtIndex:a];
>> if ([[applicationD objectForKey:@"NSApplicationPath"]
>> isEqualToString:iTunesPath])
>> {
>> iTunesIsOpen = YES;
>> break;
>> }
>> }
>>
>> [iTunesLMenu setTitle: NSLocalizedString(iTunesIsOpen ? @"Quit
>> iTunes" : @"Launch iTunes",@"")];
>>
>>
>> On May 24, 2008, at 8:29 AM, Mr. Gecko wrote:
>>
>>> Thanks I am using this
>>> iTunesIsOpen = NO;
>>> [iTunesLMenu setTitle: NSLocalizedString(@"Launch iTunes",@"")];
>>> NSArray *lApplications = [[NSWorkspace sharedWorkspace]
>>> launchedApplications];
>>> int a;
>>> for (a=0; a<[lApplications count]; a++) {
>>> NSDictionary *applicationD = [lApplications objectAtIndex:a];
>>> if ([[applicationD objectForKey:@"NSApplicationName"]
>>> isEqualToString:@"iTunes"]) {
>>> iTunesIsOpen = YES;
>>> [iTunesLMenu setTitle: NSLocalizedString(@"Quit iTunes",@"")];
>>> }
>>> }
>>> On May 23, 2008, at 5:07 PM, Nick Zitzmann wrote:
>>>
>>>> On May 23, 2008, at 4:01 PM, Mr. Gecko wrote:
>>>>
>>>>> How can I tell if iTunes is running with cocoa.
>>>>
>>>> In this particular case, you should be able to get that
>>>> information using -[NSWorkspace launchedApplications]...
DATE : Sat May 24 23:13:23 2008
My version wasn't about using the path for something else; it was
only about providing a method that doesn't care what the iTunes
application is called. For example, if someone were to rename it
"iTunes 7.6.2", then your version would stop working.
However, as Thomas Engelmeier pointed out in a separate message,
Apple doesn't currently localize the names of its iApps so you're
probably safe.
On May 24, 2008, at 12:17 PM, Mr. Gecko wrote:
> because I do not need the path for what I am doing.
>
>
>>
> On May 24, 2008, at 2:05 PM, Steve Christensen wrote:
>
>> Would something like this work better? It should deal with
>> localization or if the user renames iTunes for some reason.
>>
>> iTunesIsOpen = NO;
>> NSWorkspace* workspace = [NSWorkspace sharedWorkspace];
>> NSString* iTunesPath = [workspace
>> absolutePathForAppBundleWithIdentifier:@"com.apple.iTunes"];
>> NSArray* lApplications = [workspace launchedApplications];
>> int lAppsCount = [lApplications count];
>> int a;
>> for (a = 0; a < lAppsCount; a++)
>> {
>> NSDictionary* applicationD = [lApplications objectAtIndex:a];
>> if ([[applicationD objectForKey:@"NSApplicationPath"]
>> isEqualToString:iTunesPath])
>> {
>> iTunesIsOpen = YES;
>> break;
>> }
>> }
>>
>> [iTunesLMenu setTitle: NSLocalizedString(iTunesIsOpen ? @"Quit
>> iTunes" : @"Launch iTunes",@"")];
>>
>>
>> On May 24, 2008, at 8:29 AM, Mr. Gecko wrote:
>>
>>> Thanks I am using this
>>> iTunesIsOpen = NO;
>>> [iTunesLMenu setTitle: NSLocalizedString(@"Launch iTunes",@"")];
>>> NSArray *lApplications = [[NSWorkspace sharedWorkspace]
>>> launchedApplications];
>>> int a;
>>> for (a=0; a<[lApplications count]; a++) {
>>> NSDictionary *applicationD = [lApplications objectAtIndex:a];
>>> if ([[applicationD objectForKey:@"NSApplicationName"]
>>> isEqualToString:@"iTunes"]) {
>>> iTunesIsOpen = YES;
>>> [iTunesLMenu setTitle: NSLocalizedString(@"Quit iTunes",@"")];
>>> }
>>> }
>>> On May 23, 2008, at 5:07 PM, Nick Zitzmann wrote:
>>>
>>>> On May 23, 2008, at 4:01 PM, Mr. Gecko wrote:
>>>>
>>>>> How can I tell if iTunes is running with cocoa.
>>>>
>>>> In this particular case, you should be able to get that
>>>> information using -[NSWorkspace launchedApplications]...
| Related mails | Author | Date |
|---|---|---|
| Mr. Gecko | May 24, 00:01 | |
| Nick Zitzmann | May 24, 00:07 | |
| Mr. Gecko | May 24, 17:29 | |
| Steve Christensen | May 24, 21:05 | |
| Thomas Engelmeier | May 24, 22:22 | |
| Jens Alfke | May 24, 23:11 | |
| Steve Christensen | May 24, 23:13 | |
| Steve Christensen | May 24, 23:18 | |
| Mr. Gecko | May 25, 00:31 | |
| has | May 25, 00:40 |






Cocoa mail archive

