原由
以前用的很好用的一款提示字符串的Xcode插件,在升级到Xcode8之后不能用了,因为后面的插件不再支持UI,你懂那种用习惯了好用了的东西突然不能用的感受么,简直。。。,为此希望能捣鼓捣鼓看可能重新使用。
探索
要想搜索字符串,首先就得获取project的字符串文件
NSString *dirPath = @"/Users/xxx/Documents/xxx/Resources/zh-Hans.lproj";
NSArray *subPath = [[NSFileManager defaultManager] subpathsAtPath:dirPath];
复制代码
满心希望的能够获取到subpath,结果返回的是个nil,?,难道是dirPath不对,确认再三是对的,用
[[NSFileManager defaultManager] fileExistsAtPath:dirPath];
复制代码
获取到的也是YES,没想明白是怎么回事,为什么文件夹是有的,但是获取子文件却是没有的,然后就想直接获取目标文件,
NSString *path = @"/Users/xxx/Documents/xxx/Resources/zh-Hans.lproj/Localizable.strings";
BOOL isExist = [[NSFileManager defaultManager] fileExistsAtPath:dirPath];
复制代码
结果是有的,神奇了,为什么存在,但是获取不到呢
NSError *error = nil;
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
复制代码
获取到的content是nil,但是!!!, error不是nil。。。
Error Domain=NSCocoaErrorDomain Code=257 "The file “Localizable.strings” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/Users/xxx/Documents/xxx/Resources/zh-Hans.lproj/Localizable.strings, NSUnderlyingError=0x7f87abd1c250 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
复制代码
看来是苹果把这条路封死了么(哭),就只能操作纯文本,连系统文件都不能访问!!!!