2014-07-16 10 views
1

Я выяснил, как получить first/lastName зарегистрированного пользователя. Есть ли способ получить AppleID?Как получить AppleID зарегистрированного пользователя через CloudKit?

var defaultContainer = CKContainer.defaultContainer() 
var publicDatabase = defaultContainer.publicCloudDatabase 

    defaultContainer.discoverUserInfoWithUserRecordID(recordID, {userInfo, error in 

     println("firstName: \(userInfo.firstName?) lastName: \(userInfo.lastName?)") 

     }) 
+0

К Apple Id, вы имеете в виду адрес электронной почты пользователя? – Undo

+0

Да, адрес электронной почты пользователя, который вы используете для входа в окно аутентификации –

+2

Я считаю, что это весь смысл UserRecordId, так что яблоко даст вам какой-то механизм для отслеживания этого пользователя в контексте вашего приложения, но без необходимости выдавать слишком много личной информации, например, его адрес электронной почты. – carlossless

ответ

5

Вы не можете получить адрес электронной почты текущего пользователя - вы будете иметь, чтобы попросить его пределами CloudKit. Это неприкосновенность частной жизни. Вы должны использовать UserRecordId для уникальной идентификации пользователей.

Вы можете , однако, поиск других пользователей, если вы уже знаете свой адрес электронной почты с CKDiscoverUserInfosOperation.

+0

Эй, CKDiscoverUserInfosOperation отлично звучит, но я ничего не могу с этим поделать. Не могли бы вы показать, как я могу проверить, является ли адрес электронной почты пользователя такой же строкой, используя этот класс? – LinusGeffarth

+0

@LinusG. Я не совсем уверен, как это сделать - я немного поиграл с CloudKit. Однако это может стоить задать новый вопрос. – Undo

+0

Хорошо, спасибо хотя :) – LinusGeffarth