2010-11-17 9 views
7

yo soy un programador iPhone novato quiero utilizar algunas de las funciones en el marco privadoimportadores marcos particulares en Xcode

https://github.com/kennytm/iphone-private-frameworks

La función que quiero usar está en 'trampolín'

Así que descargué la carpeta 'SpringBoard' en ese repositorio github. Y creó un subdirectorio llamado "Encabezados" en 'SpringBoard' y puso todos los archivos de encabezado en esa carpeta.

y renombrado 'trampolín' a 'SpringBoard.framework' y copiado en/desarrollador Plataformas/(iPhoneOS_and_iPhoneSimulator)/SDK/carpeta/System/Library/Frameworks (no puedo recordar ruta completa correctamente lo siento)

Y volví al xcode y hago clic derecho en Frameworks -> Add existing framework -> other -> Seleccioné la carpeta 'SpringBoard.framework' y hice clic en Add.

y yo construimos el proyecto y dio un error

'ld: trampolín marco no encontrado'

Mi marco importado aparece en el Xcode y puedo ver los archivos de cabecera en ella. pero cuando lo construí, obtuve ese error.

¿Qué estoy haciendo mal?

Respuesta

11

coloque todas las cabeceras privadas en un directorio como: /User/Name/Headers/ continuación, establezca USER_HEADER_SEARCH_PATHS = "/User/Name/Headers/" y asegúrese de que ALWAYS_SEARCH_USER_PATHS = YES

Además, SpringBoard.framework no es el camino para hacer eso. Simplemente coloque la carpeta llamadaSpringBoarden la carpeta de Encabezados anterior, asegurándose de que los encabezados estén directamente dentro de ellos. Por ejemplo:SpringBoard/SBAlert.h

/* SpringBoard is not a framework. */ 

Tenga en cuenta que usted no tendrá que añadir la carpeta de trampolín a su proyecto, deben aparecer como empezar a escribir, siempre y cuando se configura correctamente las cabeceras anteriores.

+0

Este mismo método también funciona para otros PrivateFrameworks. Sin embargo, la única diferencia es que usará .framework como una extensión de carpeta e importará ese marco en su proyecto. – WrightsCS

+0

No se muestra en mi código. Y si utilizo copiar la carpeta de servicios de trampolín en mi aplicación, entonces, puedo importar ese sprinboardservices.h pero cuando compilo el código muestra un error de enlazador. – ManiaChamp

-2

No estoy seguro de si esto funciona, pero aquí una sugerencia: Creo que el marco de la placa de resorte debe estar en el marco UIKit que ya ha vinculado de todos modos, así que simplemente agregue el archivo de encabezado a su proyecto y debería funcionar.

De lo contrario esto podría ayudarle a: http://www.codethecode.com/projects/class-dump/

+0

SpringBoard es un servicio principal, el volcado de los encabezados le permitirá enganchar en ciertas funciones de bajo nivel, como la barra de estado en llamada y muchas otras cosas ordenadas. – WrightsCS

Cuestiones relacionadas