I'm trying to make a plugin for Sketch that allows me to automate the production of multilingual assets.
Right now, I select a list of languages files that kick off the process. I use NSOpen Panel to select these. For each language file, it makes a new page for that language, and finds text layers with a special tag and replaces the copy with the translated copy.
While it's doing this, I'd like it to check to see if there are any screenshots in another folder screenshots/lang, and store a list of the filepaths for those images. This is where I'm getting stuck at the moment.
Currently I have:
var screenShotPaths = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:mySourcePath error:NULL];
When I try to run my Plugin in sketch in its current state, the console is saying:
(Sketch Plugin)[6547]: TypeError: fileManager.contentsOfDirectoryAtPath_ is not a function.
(In 'fileManager.contentsOfDirectoryAtPath_( mySourcePath)', 'fileManager.contentsOfDirectoryAtPath_' is undefined)
I've tried looking all over I see a lot of issues where the list isn't coming back,coming back null, etc, but I can't find anything where contentsOfDirectoryAtPath is coming back as not a function.
Is this because it's a plugin getting run by an application and navigating the filesystem is a security issue?
Any help would be much appreciated. Thank you!
A little late to the game here, but hopefully someone searching for this will find this useful.
I found that you have to use the full method:
contentsOfDirectoryAtURL_includingPropertiesForKeys_options_error(url,nil,nil,nil);
I'm more familiar with JS so I'm using js syntax. Hopefully someone else can translate this to Cocoa.