2015-09-25 2 views
0

Мое приложение подключилось к службе удаленных push-уведомлений. На стороне сервера они хотят сохранить уникальный идентификатор для устройства, и он не должен меняться, даже приложение удалено и установлено. Можем ли мы получить UDID устройства и отправить его на сервер? И если я это сделаю, Apple отклонит мое приложение из магазина? И я думаю, что это лучший идентификатор, который постоянно сохраняется на стороне сервера даже при удалении приложения.?Как однозначно идентифицировать устройство, даже приложение удалено и переустановлено в iOS?

Мне нужны ваши предложения. Пожалуйста, помогите мне.

+0

Ваш лучший выбор для создания UUID и сохранения его в цепочке ключей.Это выдержит все, кроме устройства. Вы не можете получить доступ к udid – Paulw11

+0

, то что это? NSUUID * oNSUUID = [[UIDevice currentDevice] identifierForVendor]; [strApplicationUUID setString: [oNSUUID UUIDString]]; – user1960169

+0

Это идентификатор ForVendor. Вы искали? Это уникальное значение для ваших приложений на устройстве. Это может измениться, если ваше приложение удалено – Paulw11

ответ

0
  • Брелок будет сброшен, если при перезагрузке устройства.

  • Уникальный идентификатор из «[[UIDevice currentDevice] identifierForVendor]» будет меняться каждый раз при удалении и повторной установке приложения.

Вы правы, вы должны использовать токен устройства из APNS для уникального идентификатора.

2

Вот некоторые тесты я сделал с помощью identifierForVendor на iOS7

После установки приложения: 28FD42B6-A993-4602-A988-69E375A1F913
После убийства приложение: 28FD42B6-A993-4602-A988-69E375A1F913
После удаления и переустановить приложение: 28FD42B6-A993-4602-A988-69E375A1F913
После системы восстановления и переустановить приложение: 4948F77F-3D41-4933-B2F0-C4DCB529C7CC
После восстановления из резервной копии из до того системы ресто Re: 28FD42B6-A993-4602-A988-69E375A1F913

Таким образом, идентификатор торгового автомата сохраняется даже после удаления и переустановки приложения только если есть применение одного и того же поставщика на устройстве.

Значение в этом свойстве остается тем же самым в то время как приложение (или другая приложения от того же поставщика) установлено на устройстве IOS. Значение изменяется, когда пользователь удаляет все приложения этого поставщика с устройства и затем переустанавливает один или несколько из них. Поэтому, если ваше приложение сохраняет значение этого свойства в любом месте, вы должны изящно обрабатывать ситуации, в которых изменяется идентификатор.

Тонер APNS он должен использоваться только как идентификатор отправки push, он не должен быть связан с конкретным устройством любыми способами. Токены Push могут меняться со временем, и вы должны быть готовы к этому, это указано в документации Apple (даже если я никогда не вижу изменений даже после их отключения и повторного использования, кажется, что он изменяется после обновлений iOS).
Другое создает ваш UUID и сохраняет его в брелках, это будет удалено только после восстановления системы.
Если вы хотите сохранить его в NSUserDefault, имейте в виду, что он удален приложением.

Вы можете найти это у нас post от NSHipster.

Смежные вопросы