2011-02-26 7 views
5

Hoy presento mi aplicación iOS para tienda de aplicaciones, pero pronto llegó un correo de manzana, se dice que,¿Cómo usar el formato bzip2 en iOS? Manzana dime bzBuffToBuffDecompress es APIs privadas

no pueden ser destinados a la App Store porque está utilizando API indocumentados privados o :

Private Symbol References 

BZ2_bzBuffToBuffDecompress 

como saben, como se indica en el iPhone desarrollador Acuerdo de licencia de programa la sección 3.3.1, no está permitido el uso de la no-públicas API. Antes de que su aplicación pueda ser revisada por el equipo de revisión de la aplicación , resuelva este problema y cargue un nuevo archivo binario en iTunes Connect.

¿Qué debo hacer? Realmente necesito el soporte de formato bzip2 en mi aplicación.

+0

WTF? El uso de SQLite está bien pero bzip2 no? – DarkDust

+0

Aún más extraño, olvidé completamente que permiten el uso de zlib ... prohibir bzip2 ahora parece más un descuido simplemente porque no han agregado los documentos en el SDK. – DarkDust

Respuesta

4

Como la licencia de bzip2 es compatible (léalo, por favor) puede enlazar estáticamente contra bzip2 en lugar de dinámicamente. Un poco de búsqueda condujo al iOS-libarchive que lo ayudará a hacer eso.

+0

Gracias, intentaré vincular estáticamente contra bzip2 para ver qué sucedió. – Tinyfool

+2

Agregué bzip2 estático a mi proyecto, pero Xcode todavía usa la versión dinámica, así que cambio libbz2.a a libzz2.a, Xcode no puede encontrar la versión dinámica, por lo que funciona. – Tinyfool

2

De la respuesta de Ben Gottlieb a this question:

En la ventana de configuración de destino, desplazarse a las "Otras banderas Linker" sección y asegúrese de que está en -lz el campo. Esto enlazará con el zlib incorporado y su error debería desaparecer .

Excepto en este caso, desea utilizar el distintivo -lbz2.