2016-09-16 15 views
3

Есть ли список методов, которые недопустимы при компиляции в приложении? Или синтаксис, который не разрешен?iOS10: Приложение отклонено из-за метода, называемого «removeEvents»

С этим сообщением от Connect недавно наше приложение было отклонено в связи с именем removeEvents метод:

Ваше приложение использует или ссылки на следующие непубличных API:

removeEvents:

Использование непубличных API-интерфейсов запрещено в App Store, так как это может привести к плохой работе с пользователями при изменении этих API-интерфейсов.

End. Больше никаких подробностей относительно нахождения.

Этот метод используется в приложении для основного объекта данных (подкласса из NSManagedObject). Объект (и метод) был сгенерирован mogenerator app в течение довольно длительного времени. Я не нашел ссылки в обновленном обзоре guidelines для iOS10, который имеет отношение к этому.

Проблема заключается в том, что в заявлении об отклонении от Apple нет частного api или обычного описания объекта или любого принципа, который я мог бы придерживаться, чтобы избежать этого в следующий раз, когда приложение будет одобрено. Это делает из обзора непредсказуемым процессом.

Я не мог найти никаких следов этого метода, используя как nm, так и otool. Никто из них не нашел ссылки на это.

EDIT: в iTunes Connect есть возможность подать апелляцию в Совет по обзору приложений. Я этого раньше не заметил. Вопрос в том, когда они рассмотрят обзор.

+0

Похоже, что это ложный позитив, потому что вы используете имя метода для собственных классов, которое является приватным в одном из классов Apple. Попробуйте ответить на Apple и попросить их пересмотреть свое решение. (Я думаю, что это связано с природой Objective-C, где имена методов видны, но трудно сказать, к какому классу он отправлен.) – Codo

+0

Я предполагаю, что они сканировали двоичный код и его метод с черным списком в любой их структуре , и они просто отвергли это.Вы можете попросить их просмотреть его снова, используя центр разрешения iTunesConnect. –

+0

Есть ли у вас какие-либо сторонние зависимости, которые могут использовать метод, названный так? – sandy

ответ

0

Участник из обзорной доски связался с нами и подтвердил, что единственный способ получить информацию о столкновении с приватным api - это позволить приложению пройти процесс обзора. Apple предложила завершить новый обзор за два дня, и поэтому они это сделали.

Я переименовал метод, и приложение не было отклонено.

+0

И каков результат нового обзора? – Codo

+0

@Codo Я обновил сообщение. –

0

Не более подробной информации? В этом случае вы не читали внимательно. Будет ссылка на отказ, который объясняет, как это искать, если это происходит в сторонней библиотеке, например. Был там, сделал это.

Таким образом, вы можете подать жалобу, и они будут смеяться над вами, потому что вы не удосужились прочитать отклонение приложения.

Чтобы избавить вас от беспокойства, выполните поиск по собственному исходному коду, а затем используйте инструменты strings и otool, чтобы найти библиотеку, вызвавшую эту проблему, обновите библиотеку и проверьте, не исчезла ли эта проблема.

И если вы используете removeEvents самостоятельно в соответствии с вашими комментариями, тогда исправьте свой код.

+0

Нет более подробной информации о том, что я имел в виду. Также я написал в сообщении, что я использовал инструменты, и такого метода не было. RemoveEvents не является частью частного API, как объясняет сообщение. –