Кто-нибудь отклонял их iOS-приложение от Apple за использование устройств UDID? - PullRequest
5 голосов
/ 27 февраля 2012

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

Я был бы удивлен, если бы это был метод APIустарела и не стала приватной.

Ответы [ 5 ]

6 голосов
/ 27 февраля 2012

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

Я слышал, что Apple отказалась от доступа к UDID, чтобы разработчики и сторонние аналитики не могли идентифицировать конкретных людей.Если бы это действительно было из-за проблем с iCloud, Apple явно исправила бы это, вместо того, чтобы причинять неудобства всем остальным.

Редактировать: Похоже, Apple отклоняет некоторые приложенийдля доступа к UDID устройства.На всякий случай я бы использовал CFUUID для создания случайного уникального идентификатора.Вы можете использовать NSUserDefaults или связку ключей, чтобы сохранить его.Преимущество цепочки для ключей в том, что если пользователь удаляет ваше приложение, элементы цепочки для ключей не удаляются, поэтому вы все равно можете получить доступ к UDID, если пользователь переустанавливает ваше приложение.Он будет удален только в том случае, если пользователь восстановит свое устройство.

3 голосов
/ 30 апреля 2013

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

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

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

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

Похоже, что App Review применяет это правило в приложениях, которые передают UDID без получения разрешения пользователя - как предложено в этом сообщении - вместо тех, которые просто вызываютустаревший API.

Мы рассмотрели обновление для приложения, которое отправляет UDID устройства на наш сервер, на котором мы будем использовать его для индексации учетной записи пользователя.Мы решили не рисковать и изменить наш код, чтобы сгенерировать уникальный идентификатор для конкретного приложения, как предлагается в документации об устаревании UDID

1 голос
/ 14 мая 2013

С 1 мая Apple отклоняет все приложения, которые имеют доступ к UDID.Но, похоже, единственное, что они могут сделать, это проверить, находится ли строка «uniqueIdentifier» в двоичном или нет.

Так что, даже если вы больше не получаете доступ к uniqueIdentifier телефона, но выприсвойте одной переменной одно и то же имя, они найдут ее в двоичном файле и отклонят, потому что они не смогут это сделать.

Если вы хотите узнать, содержит ли она двоичный файл, вы можете изменитьрасширение .ipa (экспорт для специального развертывания) до .zip, распакуйте его и выполните fgrep -R uniqueIdentifier . в терминале в папке payload /.Вы также можете выполнить эту команду в папке вашего проекта, чтобы найти файлы, содержащие строку.

Это сработало для меня.

1 голос
/ 09 мая 2013

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

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

и должен добавить платформу ADSupport

...