Итак, мы все знаем, что Apple запрещает использование частных или недокументированных API в приложениях iOS. У меня нет проблем с этим, так как есть здравые технические причины, почему это хорошая идея. Однако два раза сейчас у меня было отклонено приложение для использования частных API-интерфейсов, когда это было не так. Это не сложно - частные API-интерфейсы включают такие символы, как connectionState
, setThumbnail
, setOrder
и так далее. Любые вызовы, которые вы делаете для методов, названных как таковые, будут помечены как использование частного API, даже если вызываемый метод является тем, что вы сами определили. Для программы, выполняющей что-то с соединениями, эскизами или порядком вещей, вышеупомянутые имена методов не так уж маловероятны. Отказаться от этого и переименовать метод и повторно отправить задерживает все, по крайней мере, на неделю, пока вы ждете нового обзора.
Итак, есть способ, используя nm
, дампы классов iOS-фреймворков и т.д., чтобы узнать для себя, если ваши имена методов конфликтуют с чем-нибудь там? Если это так, у нас может быть возможность исправить это до выпуска и избежать ненужного отклонения.