我正在尝试为Sketch制作一个插件,让我能够自动生成多语言资源。
现在,我选择了一个启动该过程的语言文件列表。我使用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,等等,但我找不到任何contentsOfDirectoryAtPath返回的不是函数的问题。
这是因为它是一个由应用程序运行的插件,导航文件系统是一个安全问题吗?
任何帮助都将不胜感激。谢谢!
发布于 2016-12-30 01:32:01
这里有点晚了,但希望搜索这篇文章的人会发现这篇文章很有用。
我发现您必须使用完整的方法:contentsOfDirectoryAtURL_includingPropertiesForKeys_options_error(url,nil,nil,nil);
我更熟悉JS,所以我使用js语法。希望其他人能把这个翻译成Cocoa。
发布于 2019-05-31 19:38:47
适用于我:(草图55)
var fileManager = [NSFileManager defaultManager];
var paths = [fileManager contentsOfDirectoryAtPath:filePath error:null];https://stackoverflow.com/questions/39175378
复制相似问题