Presento mi aplicación en la tienda de aplicaciones y después de la revisión fue rechazada. Razón de Apple fue:confundido acerca de: (2.5) Las aplicaciones que usan API no públicas serán rechazadas
2,5: Las aplicaciones que utilizan API no públicas serán rechazadas
* Encontramos que su aplicación utiliza una o más API no públicas, que no es en cumplimiento con las Pautas de Revisión de App Store. El uso de API no públicas no es permisible porque puede llevar a una experiencia de usuario deficiente si estas API cambian. Encontramos las siguientes API no públicas en su aplicación:
dateWithCalendarFormat: Zona horaria:
hourOfDay
minuteOfHour
secondOfMinute
setNavigationBar:
si se han definido métodos en su código fuente con los mismos nombres que las API mencionadas anteriormente , le sugerimos que modifique los nombres de sus métodos para que no colisionen con las API privadas de Apple para evitar que su aplicación se marque en futuras presentaciones.
Además, una o más de las API mencionadas anteriormente pueden residir en una biblioteca estática incluida con su aplicación. Si no tiene acceso a la fuente de la biblioteca, puede buscar el binario compilado utilizando las herramientas de línea de comandos "cadenas" o "otool". La herramienta "cadenas" puede generar una lista de los métodos que la biblioteca llama y "otool -ov" generará las estructuras de la clase Objective-C y sus métodos definidos. Estas técnicas pueden ayudar a reducir en el que reside el código problemático. *
Pero, el problema es que yo no declarar o definir ninguno de los métodos con los nombres como las API antes mencionadas. Y no usé ninguna biblioteca personalizada. Es una aplicación bastante simple (planer) y solo utilicé: UIKit, CoreData, AVFoundation, Foundation y EventKit.
Ayer envié un mensaje a Apple, pero aún no recibí ninguna respuesta.
¿Alguna idea?
Agrupe rápidamente su código fuente para las instancias de uno de estos (por ejemplo, 'secondOfMinute'). ¿Aparecen en cualquier lado? –
Si no llama a ninguno de los códigos de Apple que usa API privada y los contactó, espere una respuesta. – Moshe
Métodos dateWithCalendarFormat: timeZone :, hourOfDay, minuteOfHour y secondOfMinute I utiliza sólo una vez en mi código: int hora = [[[fecha DatePicker] dateWithCalendarFormat: nil timeZone: nil] hourOfDay]; int min = [[[datePicker date] dateWithCalendarFormat: nil timeZone: nil] minuteOfHour]; int sec = [[[datePicker date] dateWithCalendarFormat: nil timeZone: nil] secondOfMinute]; donde datePicker es un objeto de la clase UIDatePicker: @property (no atómico, retener) IBOutlet UIDatePicker * datePicker; Lo mismo en el método setNavigationBar. No declare o defina esos métodos. –