Necesito ejecutar el siguiente código para apagar la pantalla de mi iphone.
En iOS6:
void (*BKSDisplayServicesSetScreenBlanked)(BOOL blanked) = (void (*)(BOOL blanked))dlsym(RTLD_DEFAULT, "BKSDisplayServicesSetScreenBlanked");
y luego usa:
BKSDisplayServicesSetScreenBlanked(1); // 1 to dim, 0 to undim
No funciona. Alguien me dijo que necesito derechos com.apple.backboard.client
para que esto funcione en mi iphone. No sé cómo establecer estos derechos. He visto varias formas de establecer los derechos, pero son muy confusos para mí, como este.
Sí, necesita firmar con código las autorizaciones. Pero, no, no tiene que ser con un certificado de Apple en teléfonos con jailbreak. Puede falsificar el signo del código, descargando el ejecutable ldid y haciendo
cd MyAppName.app ldid -Sentitlements.xml MyAppName
suponiendo que su aplicación se llame MyAppName y haya creado el archivo de derechos entitlements.xml. Creo que este archivo de derechos funcionaría para usted, si falsifica código, lo firmó con ldid.
com.apple.backboard.client
Incluso con el método anterior, ¿dónde coloco el archivo de derechos anterior?
Para una aplicación / autorización jailbreak , debe hacer algo como esto. Primero, crea un archivo llamado entitlements.xml
(o lo que quieras):
com.apple.backboard.client
Puede agregar más derechos si lo necesita. Este archivo de ejemplo solo otorga a la aplicación el derecho com.apple.backboard.client
.
Realmente no importa dónde coloque este archivo. La clave es:
SDKSettings.plist
de Xcode, como se muestra aquí . CODE_SIGNING_REQUIRED
debe establecerse en NO
. HelloWorld
, está buscando la carpeta HelloWorld.app
. Puede variar según su configuración, así que no me molestaré en decirle dónde está eso. Si tiene dudas, use el comando de línea de find
. ldid
preconstruido desde esta ubicación o como fuente desde aquí . HelloWorld.app
. (Nota: no tienes que tenerlo aquí … si lo pones en otro lugar, simplemente ajusta la línea de comando que te muestro más abajo). $ldid -Sentitlements.xml HelloWorld.app/HelloWorld
Después de ese punto, deberá transferir toda la carpeta HelloWorld.app para instalar la aplicación en su dispositivo. Hay muchas formas de hacerlo, y parece que ya tienes una forma.
Tengo todo este proceso de configuración con un script, para hacerlo más fácil.
Nota: No estoy estableciendo si este derecho es o no el derecho correcto de uso para la llamada BKSDisplayServicesSetScreenBlanked()
en iOS 6. No lo he probado. Sé que este derecho funciona para permitirle usar SBDimScreen()
en versiones inferiores de iOS. Pero esta respuesta es solo una descripción de cómo agregar este tipo de autorización para una aplicación de jailbreak.
Los derechos se establecen en el archivo del proyecto Xcode o en el archivo de derechos que elige el proyecto Xcode.
Busque en la configuración del proyecto en “Resumen” o “Crear fases” para la configuración o el nombre del archivo de derechos.