iphone - repositorios - tweaks ios 11 electra
Intentando usar las bibliotecas de cydia: NSTask en Jailbroken iphone se bloquea con un error de segmentaciĆ³n: 11 (1)
Quiero ejecutar dpkg (o cualquier otro archivo de biblioteca binaria de Cydia en los directorios / bin o / usr / bin) desde una aplicación GUI con un ícono, como mobileterminal, ifile, myfile, cydia, alertscript y tantos otros. ¿Cómo acceden las bibliotecas? Este código funciona, y el stdout del proceso se imprime en nslog, pero luego se bloquea inmediatamente con la falla de segmentación: 11. esto está en mi función viewdidload. Esto NO OCURRE EN EL SIMULADOR, solo mi iPhone 4. raro. han intentado ejecutarse como móvil y raíz. la aplicación está en la carpeta / Aplicaciones. Aquí está mi código.
EDITAR: Estoy usando la versión del leopardo de las nieves de xcode, y acabo de actualizar a León, pero estoy pensando que probablemente no sea el problema. Mi iPhone es ios5.0.1. se publicará cuando lo pruebo.
NSString * workingdir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSTask * nstaskvar=[NSTask new];//note the NSTask.h file included!
NSPipe * outputPipe = [NSPipe pipe];
[nstaskvar setLaunchPath:@"/bin/ls"];
[nstaskvar setArguments:[NSArray arrayWithObjects:@"/usr",nil]];
[nstaskvar setCurrentDirectoryPath:workingdir];
[nstaskvar setStandardOutput:outputPipe];
[nstaskvar setStandardInput:[NSPipe pipe]];
[nstaskvar launch];
NSString * outputstring = [[[NSString alloc] initWithData:[[outputPipe fileHandleForReading] readDataToEndOfFile] encoding:NSUTF8StringEncoding] autorelease];//readDataToEndOfFile reads until file is closed, which happens when process exits :) (i couldnt get waitUntilExit to work)
NSLog(@"%@", outputstring);
[nstaskvar release];
[outputPipe release];
¡Resuelto! Después de actualizar a xcode 4.3.2, la versión de león, el simulador se bloqueó con exc_bad_access
así que habilité zombis y encontré que eran las dos últimas líneas [nstaskvar release]; [outputPipe release];
[nstaskvar release]; [outputPipe release];
eso causó el problema
Los deshabilité a los dos y desapareció, y ahora funciona muy bien en mi iPhone: D.