我正在尝试制作一个xcode插件,需要从.m文件中写入.h文件。我无法找到一个stackoverflow帖子,其中有关于如何执行此操作的答案。我试过这段代码
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSString *contents = [[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSUTF8StringEncoding];
我也尝试使用StringWithContentsOfFile
方法,但它们都返回nil。是因为您无法使用此代码读取.h文件,或者是我缺少的其他内容。
filePath是这个,它是一个正确的文件路径,我的ftp客户端可以读取它至少文件:///Users/myUserName/Documents/code/macOsDev/XcodePlugIns/XcoderPlugin/XcoderPlugin/XcoderPlugin.h
所以我的问题是,如何读取和写入.h文件?提前谢谢。
按要求编辑,更多代码,但这是我已经进入我的插件的读/写部分。
NSString *filePath = path;
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSString *contents = [[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSUTF8StringEncoding];
NSError *error;
NSString *contents1 = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
内容为@“”,因为数据为零 而contents1只是零; 错误是错误
NSError * domain: @"NSCocoaErrorDomain" - code: 260
在调试器中,但我不确定我是否正确使用此错误。
答案 0 :(得分:1)
使用“/Users/myUserName/Documents/code/macOsDev/XcodePlugIns/XcoderPlugin/XcoderPlugin/XcoderPlugin.h”。 不要使用'file://'前缀
以下是阅读和写作的代码
NSString *path = @"your/path/tp/.h/file";
NSData *data = [NSData dataWithContentsOfFile:path];
//Get the contents of the file into the mutable string
NSMutableString *contents = [[NSMutableString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSUTF8StringEncoding];
//Make changes to your mutable string
[contents appendString:@"abc"];
//Write it back to the file
[contents writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];