Приложениям не разрешен доступ к 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 или замените его новым классом, если вы используете внешние классы
Ответ 2
Использование свойства uniqueidentifier
устройства в приложениях было устаревшим в iOS 5.0 и запрещено в приложениях iOS 6 с 1 мая 2013 года. Вместо этого, вы можете использовать свойство identifierForVendor
, доступное в iOS 6.0. Apple изменила API для решения проблем конфиденциальности.
Ответ 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.
Ответ 7
У Admob 6.4.2, похоже, есть одна и та же проблема, и теперь она решается... попробуйте получить ее отсюда: http://dl.google.com/googleadmobadssdk/googleadmobadssdkios.zip
Ответ 8
Если вы используете HockeyApp, не забудьте удалить код, который проверяет, нужно ли обновлять приложение, он использует UDID по умолчанию.
Еще лучше оберните его в некоторые директивы препроцессора, чтобы он включался в ваши специальные сборки, но не ваши сборки.