У меня есть приложение на основе NSDocument, которое уже обрабатывает * .txt файлы.Я могу перетащить эти файлы в док-станцию, и мое приложение запустится правильно.
Теперь я хочу иметь возможность открывать и файлы * .text.Поэтому я добавил:
<key>CFBundleTypeExtensions</key>
<array>
<string>.txt</string>
<string>.text</string>
</array>
в мой * plist
Однако я не могу открыть * .text файлы, перетаскивая их в док-станцию.(Я могу сделать MyApp> File> Open> myFile.text). Я могу открыть * .txt как обычно и перетащить их в док.
Я попытался реализовать эти методы делегата NSApp, но теперь я получаюошибка, и я не могу открыть любой файл.
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename{
NSURL *url = [NSURL URLWithString:filename];
NSError *error = nil;
[[NSDocumentController sharedDocumentController] openDocumentWithContentsOfURL:url display:YES error:&error];
if (error) {
NSLog(@"error: %@", [error localizedDescription]);
error = nil;
return NO;
}
return YES;
}
- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames{
for (NSString *filename in filenames) {
[self application:sender openFile:filename];
}
}
Ошибка:
typeForContentsOfURL: ошибка: должна быть переопределена, чтобы ваше приложение поддерживало URL-адреса, отличные от 'file:'.
Iя не делаю подкласс NSDocumentController, так что мне действительно нужно?или есть лучший / более простой способ сделать это?
Заранее спасибо