¿Cómo cambio los derechos de mis aplicaciones de iOS?

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:

  1. Deberá modificar el archivo SDKSettings.plist de Xcode, como se muestra aquí . CODE_SIGNING_REQUIRED debe establecerse en NO .
  2. No codifique la firma de su aplicación en Xcode. En Configuración de comstackción , asegúrese de que la identidad del signo de código esté configurada como No firmar código .
  3. Una vez que haya creado su aplicación para el dispositivo iOS (¡no Simulator!), Vaya al directorio de su Mac donde se encuentran los archivos de salida. Para una aplicación llamada 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 .
  4. Descargue ldid preconstruido desde esta ubicación o como fuente desde aquí .
  5. Copie el archivo entitlements.xml en el mismo directorio donde está 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).
  6. Cambie el directorio al directorio donde se encuentra su archivo entitlements.xml.
  7. Fake code-sign con este comando :
 $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.

Intereting Posts