Как связать классы приложения с F-Script - PullRequest
2 голосов
/ 29 июня 2010

Я хотел бы создать приложение командной строки, которое принимает исполняемый скрипт F-Script и которое имеет доступ к некоторым классам, предоставляемым приложением.

Как я могу это сделать?

PS : Я имею в виду F-Script , а не FScript .

1 Ответ

0 голосов
/ 29 июня 2010

Глядя на код FScript.app, который, как сообщается, связан с большей частью платформы Core, я нашел следующий метод:

- (void)loadSystemFrameworks  // Contributed by Cedric Luthi
{
  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

  NSMutableArray *systemFrameworksPaths = [NSMutableArray arrayWithObject:@"/System/Library/Frameworks"];

  if ([[NSUserDefaults standardUserDefaults] boolForKey:@"FScriptLoadPrivateSystemFrameworks"])
    [systemFrameworksPaths addObject:@"/System/Library/PrivateFrameworks"];

  for (NSString *systemFrameworksPath in systemFrameworksPaths)
  {
    for (NSString *framework in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:systemFrameworksPath error:NULL])
    {
      NSBundle *frameworkBundle = [NSBundle bundleWithPath:[systemFrameworksPath stringByAppendingPathComponent:framework]];
      if ([frameworkBundle preflightAndReturnError:nil])
        [frameworkBundle load];
    }
  }

  [pool drain];
}

Я использую его для ссылки на классы, определенные изприложение достаточно для загрузки пакета, содержащего классы.

...