Sketch Plugin - NSFileManager contentsOfDirectoryAtPath - не функция

Я пытаюсь создать плагин для Sketch, который позволит мне автоматизировать создание многоязычных ресурсов.

Прямо сейчас я выбираю список языковых файлов, с которых начинается процесс. Я использую NSOpen Panel, чтобы выбрать их. Для каждого языкового файла он создает новую страницу для этого языка, находит текстовые слои со специальным тегом и заменяет копию переведенной копией.

Пока он это делает, я хотел бы проверить, есть ли какие-либо скриншоты в другой папке скриншоты / lang, и сохранить список путей к файлам для этих изображений. Это где я застреваю в данный момент.

В настоящее время у меня есть:

var screenShotPaths = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:mySourcePath error:NULL];

Когда я пытаюсь запустить свой плагин в эскизе в его текущем состоянии, консоль говорит:

(Sketch Plugin)[6547]: TypeError: fileManager.contentsOfDirectoryAtPath_ is not a function. 
(In 'fileManager.contentsOfDirectoryAtPath_( mySourcePath)', 'fileManager.contentsOfDirectoryAtPath_' is undefined)

Я попытался просмотреть все, я вижу много проблем, когда список не возвращается, возвращается ноль и т. Д., Но я не могу найти ничего, где contentsOfDirectoryAtPath возвращается как функция.

Это потому, что это плагин, запускаемый приложением, а навигация по файловой системе - это проблема безопасности?

Любая помощь приветствуется. Спасибо!

1 ответ

Немного опоздал к игре здесь, но, надеюсь, кто-то ищет это найдет это полезным.

Я обнаружил, что вы должны использовать полный метод: contentsOfDirectoryAtURL_includingPropertiesForKeys_options_error(url,nil,nil,nil);

Я более знаком с JS, поэтому я использую синтаксис JS. Надеюсь, кто-то еще может перевести это на Какао.

У меня работает: (Набросок 55)

var fileManager = [NSFileManager defaultManager];
var paths = [fileManager contentsOfDirectoryAtPath:filePath error:null];
Другие вопросы по тегам