El desarrollo de IOS genera archivos txt.
Posteriormente se solucionó. Tomar apuntes.
1, en sistemas inferiores a iOS13. El formato para crear una carpeta es el siguiente:
+(ns string *)tmpLogPath
{
ns string * docPath = [nshomeditory() stringByAppendingPathComponent: @"Biblioteca "];
ns string * dirPath =[docPath stringByAppendingPathComponent:@"mi registro"];
ns string * ruta de archivo =[dirPath stringByAppendingPathComponent:@"tmp log . txt" ];
Ruta del archivo de retorno;
}
+(void)escribir tmplog:(ns string *)aMsg
{
ns cadena * ruta del archivo =[[self class]tmpLogPath];
if (![[NSFileManager administrador predeterminado]filexistsatpath:ruta del archivo]){
BOOL isDir = NO
BOOL hasDir =[[Administrador predeterminado de NSFileManager]filexistsatpath:la ruta del archivo es el directorio:& amp;isDir];
If (!hasDir ||! es dir ) {
[[Administrador predeterminado de NSFileManager]createDirectoryAtPath:Ruta del archivo en el directorio intermedio: Ninguno Atributos: Ninguno Error: Ninguno];
}
} p>
NSError *Error;
ns string * content =[ns string stringwithcontentsofile:ruta del archivo
Codificación: NSUTF8StringEncoding
Error: Error];
ns string * new Content =[ns string string with format:@"%@\n%@",content,aMsg];
[nuevo contenido escribir en archivo: ruta del archivo atómico: SÍ codificación: nsu TF error de codificación de 8 cadenas: nulo];
}
+(void)clearTmpLog
{
ns string * ruta del archivo =【[self class】tmpLogPath】;
[@““escribir en el archivo: ruta del archivo atómica: SÍ codificación: nsu TF 8 error de codificación de cadena: nulo】;
}
2, pero en iOS13, no puedes escribir así. El sistema creará una carpeta llamada * * * *. txt, se producirán errores al escribir.
Se informará un error: NSCocoaErrorDomain:257 is.
nsfilereadnopermission error = 257, //Error de lectura (problema de permiso)
Entonces puedes escribir así:
+(ns string *)tmpLogPath {
p>
cadena ns * ruta del documento = [NSSearchPathForDirectoriesInDomains(directorio nslibrary, NSUserDomainMask, YES) últimoObjeto];
cadena ns * ruta del archivo = [ruta del documento stringByAppendingPathComponent:@“ mi registro/tmp log. txt"];
returnfilePath
}
+ (void) escribe tmplog: (ns string *) aMsg {
ns string * ruta de campo = [[self class]tmpLogPath];
NSLog (@"Tamaño de archivo actual: % LLU", [tamaño de archivo propio con ruta:ruta de campo]); p>
NSFileManager * manager =【Administrador predeterminado de NSFileManager】;
If (![managerfilexistsatpath:ruta del campo]){
NSError *Error;
[aMsgwriteToFile:ruta del campo atómica:YES codificación:nsu TF 8 error de codificación de cadena:& Error];
if (error) {
NSLog(@"Error de escritura: % @ \n" , [Descripción de localización del error]);
}
} De lo contrario {
NSError * error;
NSError * writeError p>
ns string * content =【ns string stringwithcontentsofile:ruta del campo
? Codificación: NSUTF8StringEncoding
Error: Error];
If (Error) {
NSLog(@"Error de lectura: % @\n", [Error localizado descripción]);
}
ns cadena * nuevo contenido =[ns cadena cadena con formato:@"% @\n %@",content,aMsg];< /p >
[newContentwriteToFile:ruta del campo atómica:YES codificación:nsu TF 8 error de codificación de cadena:& error de escritura];
if (error de escritura){
NSLog (@" Error de escritura: % @\n", [writeerrorlocalized descripción]);
}
}
}
//Obtener el tamaño de archivo
+(unsignedlonglong)fileSizeWithPath:(ns string *)ruta {
signedlonglongfileSize = 0;
NSFileManager * archivo
manager = [administrador predeterminado de NSFileManager];
if ([filemanagerfilexistsatpath:path]){
NSError * error = nil
diccionario ns * file dict =[ fileManagerattributesOfItemAtPath:error de ruta:& error];
if (! error y error. & fileDict) {
fileSize = [filedict fileSize];
}
}
returnfileSize
}
+(void)clearTmpLog {
NSError *Error;
NSFileManager * manager =[administrador predeterminado de NSFileManager];
ns string * ruta del archivo =[[self class]tmpLogPath];
[managerremoveItemAtPath:filepath error: & Error];
If (Error) {
NSLog(@"Error al eliminar: %@\n", [Descripción de localización del error]);
}
}