从 iCloud 帐户访问用户个人资料图片
Accessing user profile picture from iCloud account
我正在尝试从用户的 iCloud 帐户中提取用户的个人资料照片。我正在使用 CloudKit 并正在验证用户是否拥有 iCloud 帐户以及请求可发现性权限。我不确定这是可能的,但如果是的话,我想知道怎么做。这是相关代码:
要验证 iCloud 帐户:
[[CKContainer defaultContainer] accountStatusWithCompletionHandler:^(CKAccountStatus accountStatus, NSError *error) {
if (accountStatus == CKAccountStatusAvailable)
{
self.shouldLogin = YES;
}
else
{
self.shouldLogin = NO;
}
}];
要从他们的 iCloud 帐户中提取他们的个人资料图片:
[[CKContainer defaultContainer] requestApplicationPermission:CKApplicationPermissionUserDiscoverability completionHandler:^(CKApplicationPermissionStatus applicationPermissionStatus, NSError * _Nullable error) {
if (applicationPermissionStatus == CKApplicationPermissionStatusGranted)
{
[[CKContainer defaultContainer] discoverUserInfoWithUserRecordID:self.dataStore.user.userID completionHandler:^(CKDiscoveredUserInfo * _Nullable userInfo, NSError * _Nullable error) {
NSData *imageData = userInfo.displayContact.imageData;
UIImage *profileImage = [UIImage imageWithData:imageData];
self.profileImageView.image = profileImage;
}];
}
}];
您只能获得唯一 ID 加上 iCloud 用户的名字和姓氏。如果您需要更多信息,则必须向所有用户询问该数据。
我正在尝试从用户的 iCloud 帐户中提取用户的个人资料照片。我正在使用 CloudKit 并正在验证用户是否拥有 iCloud 帐户以及请求可发现性权限。我不确定这是可能的,但如果是的话,我想知道怎么做。这是相关代码:
要验证 iCloud 帐户:
[[CKContainer defaultContainer] accountStatusWithCompletionHandler:^(CKAccountStatus accountStatus, NSError *error) {
if (accountStatus == CKAccountStatusAvailable)
{
self.shouldLogin = YES;
}
else
{
self.shouldLogin = NO;
}
}];
要从他们的 iCloud 帐户中提取他们的个人资料图片:
[[CKContainer defaultContainer] requestApplicationPermission:CKApplicationPermissionUserDiscoverability completionHandler:^(CKApplicationPermissionStatus applicationPermissionStatus, NSError * _Nullable error) {
if (applicationPermissionStatus == CKApplicationPermissionStatusGranted)
{
[[CKContainer defaultContainer] discoverUserInfoWithUserRecordID:self.dataStore.user.userID completionHandler:^(CKDiscoveredUserInfo * _Nullable userInfo, NSError * _Nullable error) {
NSData *imageData = userInfo.displayContact.imageData;
UIImage *profileImage = [UIImage imageWithData:imageData];
self.profileImageView.image = profileImage;
}];
}
}];
您只能获得唯一 ID 加上 iCloud 用户的名字和姓氏。如果您需要更多信息,则必须向所有用户询问该数据。