2016-08-26 6 views
1

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

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

Хотя он делает это, я бы хотел, чтобы он проверил, есть ли скриншоты в другой папке screenshots/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) 

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

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

Любая помощь будет высоко оценена. Спасибо!

ответ

1

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

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

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