2013-05-09 4 views
2

Сегодня мы получили отзывы о нашей отправке, и мы не понимаем сообщенную проблему: «Приложениям не разрешен доступ к UDID и не должен использовать метод uniqueIdentifier UIDevice. Обновите свои приложения и серверы, чтобы связать пользователей с идентификаторами поставщика или рекламы, представленными в iOS 6. ».Недействительный бинарный код приложения

Мы знаем об отклонениях относительно udid, но наше приложение не использует это! После ознакомления с этим наша команда переоценила приложение, и мы не обнаружили вхождения из «UIDevice uniqueIdentifier». Мы также пересмотрели все используемые библиотеки, и действительно, мы не находим никакого вызова из UDID.

У кого-то есть идеи?

После исследования, я выполнил команду "greap":

мой-приложение-каталог $ Grep -Rnis 'UniqueIdentifier' * двоичный файл John.xcodeproj/project.xcworkspace/xcuserdata/franz.xcuserdatad/UserInterfaceState. xcuserstate соответствует

Двоичный файл John.xcodeproj/project.xcworkspace/xcuserdata/mahendra.xcuserdatad/UserInterfaceState.xcuserstate соответствует

Двоичный файл John.xcodeproj/project.xcworkspace/xcuserdata/pareshrathod.xcuserdatad/UserInterfaceState.xcuserstate матчей

Двоичный файл John.xcodeproj/project.xcworkspace/xcuserdata/User.xcuserdatad/UserInterfaceState.xcuserstate соответствует

Как я решить выше вопросов?

от John

ответ

4

Вы должны удалить любое использование UDID. Apple, начал отвергать приложения, используя это как 1 мая 2013 г.

Использование идентификаторов в приложениях

Начиная с 1 мая, в App Store больше не будет принимать новые приложения и обновления приложений, которые имеют доступ UDIDs. Обновите свои приложения и серверы, чтобы связать пользователей с идентификаторами поставщика или рекламы, представленными в iOS 6. Более подробную информацию вы можете найти в разделе UIDevice Class Reference.

Источник: https://developer.apple.com/news/

Хотя я не независимо друг от друга подтвердили это, я считаю, что это то, что вы должны использовать:

NSUUID *uuid = [[UIDevice currentDevice] identifierForVendor]; 
NSString *uuidString = [uuid UUIDString]; 
+0

Я не знаю, где я использую? любезно помогите мне, как я определил это? – John

+0

ОК, но где я должен вводить эти две строки? – John

+0

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

3

Согласно New Review Руководством по Apple, Его не допускается или Запрещено использовать UDID вашего устройства для любого вида идентификации или любой другой цели вашего приложения. Apple долгое время обнаружила, что UDID также используется для взлома некоторых хакеров данных и множества других хаков, поскольку они сразу понимают, что они ограничивают использование UDID в любом из приложений.

Так я совет Вы, чтобы удалить любые пропущено или код из приложения, которое используется UDID, поиск следующую строку кода в приложении

[[UIDevice currentDevice] uniqueIdentifier] 

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

вы можете найти больше новостей и обновлений IOS и приложения here и об использовании UDID here

+0

Подробнее об этом http://www.macrumors.com/2013/03/21/apple-will-no- более длинные-одобряющие-приложений, использующих уникальный-идентификатор устройства-UDID-начало-мая-1 / – Mohith