Как Apple обнаруживает UDID-доступ во время просмотра приложения? - PullRequest
6 голосов
/ 30 марта 2012

Так что, очевидно, Apple начала отклонять приложения, которые используют [UIDevice uniqueIdentifier].Я слышал сообщения о том, что приложения были отклонены и одобрены на прошлой неделе, которые используют его (некоторые проходят, некоторые нет).Однако ни одна из крупных рекламных сетей (которые приносят доход моему приложению) еще не выпустила API, который не использует UDID.Все их API, которые включены в мое приложение, используют его.Все они говорят, что работают над новым API, и он скоро выйдет, но это может произойти через несколько месяцев.

Мне кажется очень странным, что Apple будет применять эту политику через процесс проверки приложений,а не через новую версию ОС, которая просто не позволяет этого (и у людей есть время на программирование во время бета-тестирования).

Все это говорит о том, что Apple точно определяет, обнаруживает ли Appleдоступ к UDID во время обзора приложения?Они как-то сканируют пакет, чтобы увидеть, есть ли там звонок, или они отслеживают системные вызовы, которые фактически выполняются во время тестирования приложения?Я думал о том, что, возможно, пользователь не получит доступ к рекламным API-интерфейсам, если пользователь захочет заплатить, или предоставит им возможность выбрать поддержку рекламы и, следовательно, предоставить свой UDID.Но мне нужно понять, отказывается ли Apple на основании того, что [UIDevice uniqueIdentifier] просто компилируется в ваш код, или если они обнаруживают на основании того, что вы вызываете [UIDevice uniqueIdentifier] во время проверки приложения.

Пожалуйста, неответьте на этот вопрос с причинами, по которым вам не следует использовать [UIDevice uniqueIdentifier] или как создавать свои собственные UDID, и т. д., и т. д. Моя проблема заключается в том, что мне требуются сторонние библиотеки, у которых пока нет альтернативного решения.Вопрос в том, как Apple обнаруживает доступ UDID во время просмотра приложения?

Ответы [ 2 ]

7 голосов
/ 30 марта 2012

Известно, что они используют статический анализ, который в основном сканирует ваш скомпилированный двоичный файл на предмет скомпилированных версий вызовов определенных методов.Они также используют это для обнаружения обращений к частным API.Может быть возможно обмануть статический анализ, создавая селекторы из строк творческим путем.Хотя это ни в коем случае не честно и не рекомендуется.

Но более надежный метод, скорее всего, через HTTP-прокси, с помощью вашего приложения они могут отслеживать HTTP-трафик для любых отправляемых UDID.Который может быть получен путем хеширования или двухстороннего шифрования.Это также не было бы честно или рекомендовано.

И когда iOS6 выйдет этим летом, метод, вероятно, будет полностью удален, что сделает все запутывания его использования полностью спорными.

2 голосов
/ 30 марта 2012

Apple, как сообщается, использует статическое сканирование для всех сигнатур методов, используемых в приложении (вплоть до периодического отказа приложения от использования той же сигнатуры сообщения для собственного пользовательского класса разработчика, что и для одного из непубличных API Apple.)

Кроме того, ранее сообщалось, что они также запускают рассматриваемые приложения на специальном оборудовании и / или не выпущенных версиях ОС, которые могут включать или не включать какие-либо инструменты, например для сетевого трафика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...