Приложениям не разрешен доступ к UDID и не должен использовать метод uniqueIdentifier UIDevice

Поможете ли вы мне устранить эту проблему ниже из магазина приложений

Приложениям не разрешено обращаться к UDID и не использовать uniqueIdentifier метод UIDevice. Обновите свои приложения и серверы для объединения пользователей с поставщиками или рекламными идентификаторами введенный в iOS 6. Если имена методов в исходном коде соответствуют частные API Apple, перечисленные выше, изменение имен ваших методов поможет чтобы это приложение не было помечено в будущих сообщениях. В Кроме того, обратите внимание, что один или несколько из вышеперечисленных API могут быть расположены в статической библиотеки, которая была включена в ваше приложение. Если это так, они должны быть удалены.

Если вы считаете, что это сообщение отправлено с ошибкой и что у вас есть только использовали опубликованные Apple API в соответствии с руководящими принципами, отправили приложение с девятью цифрами Apple ID, а также подробную информацию о том, почему вы полагаете, что вышеуказанные API были неправильно помечены, чтобы [email protected] Для получения дополнительной информации посетите Технический Страница технической поддержки.

Как только эти проблемы будут исправлены, перейдите на страницу сведений о версии и нажмите "Готово для загрузки двоичных файлов". Продолжить рассмотрение до состояния приложения "Ожидание загрузки". Тогда вы можете доставить исправленный двоичный файл.

Ответы

Ответ 1

Найдите класс, который использует UDID на

(через терминал в каталоге проекта)

find . | grep -v .svn  | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier

вы найдете классы, в которых используется UDID, затем замените его и используйте UUID или замените его новым классом, если вы используете внешние классы

Ответ 3

Моя проблема с этим была связана с библиотекой adMob. Он был исправлен в adMob SDK 6.4.2. Из Google:

В AdMob SDK для iOS используется рекламный идентификатор Apple (IDFA). SDK использует IDFA в соответствии с рекомендациями, изложенными в iOS-разработчике лицензионное соглашение. Разработчики должны убедиться, что они находятся в соответствие политикам лицензионного соглашения программы разработчика iOS определяя использование этого идентификатора.

Ответ 4

У меня тоже такая проблема. Мой проект строился с использованием Unity 3.5.4 и с использованием 3 разных плагинов.

Я создал пустой проект iOS, используя единство 3.5.4, построенный проект xCode, попытка проверки: сбой. Затем я построил проект xCode, используя 3.5.7, и проверка прошла успешно.

В этом пустом проекте не было никаких плагинов, чтобы не было ошибок в плагинах.

Один из моих плагинов работал только с Uniyt 3.5.4, поэтому теперь я пытаюсь получить обновленную версию этого плагина, который работает с 3.5.7, чтобы отправить приложение.

Ответ 5

Admob и ShareKit + Facebook были для меня виновными.

Ответ 6

Я только что получил тот же адрес электронной почты после отправки нашего приложения Tinyview в Apple App Store. Мы не используем UDID напрямую, но возможно, что к нему обращается библиотека, которую мы включаем, например. Google Analytics.

Ответ 8

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

Еще лучше оберните его в некоторые директивы препроцессора, чтобы он включался в ваши специальные сборки, но не ваши сборки.