/** Return path for framework with name aName. */
+ (NSString *)pathForFrameworkWithName:(NSString *)aName
{
NSMutableArray *names = [NSMutableArray array];
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *paths;
NSEnumerator *fenum;
NSEnumerator *penum;
NSString *path;
NSString *file;
NSString *name;
paths = NSStandardLibraryPaths();
penum = [paths objectEnumerator];
while( (path = [penum nextObject]) )
{
path = [path stringByAppendingPathComponent:@"Frameworks"];
fenum = [[manager directoryContentsAtPath:path] objectEnumerator];
if( ![manager fileExistsAtPath:path isDirectory:NO] )
{
continue;
}
while( (file = [fenum nextObject]) )
{
if( [[file pathExtension] isEqualToString:@"framework"] )
{
name = [[file lastPathComponent] stringByDeletingPathExtension];
if([name isEqualToString:aName])
{
return [path stringByAppendingPathComponent:file];
}
}
}
}
return nil;
}
/** Return bundle for framework with name aName. */
+ (NSBundle *)bundleForFrameworkWithName:(NSString *)aName
{
return [self bundleWithPath:[self pathForFrameworkWithName:aName]];;
}