检查用户是否已连接到他的Apple帐户,如果没有,请让他连接到它

问题描述 投票:1回答:3

是否可以检查用户是否已连接到他的Apple帐户?如果他不是,请他连接?

ios objective-c swift account
3个回答
5
投票

是的,通过检查ubiquityIdentityToken中的NSFileManager对象是否已设置,可以获得Apple帐户(iCloud)状态。你可以使用这样的东西:

斯威夫特4

var iCloudAvailability: Bool {
  return FileManager.default.ubiquityIdentityToken != nil
}

斯威夫特3

var icloudStatus: Bool {
    return NSFileManager.defaultManager().ubiquityIdentityToken != nil ? true : false
}

true的值表示用户已登录,false表示该用户未登录,因此您可以提供某种视图以要求用户进行连接。

从Apple文档:

当iCloud当前可用时,此属性包含一个表示当前用户身份的不透明对象。如果iCloud因任何原因不可用或没有登录用户,则此属性的值为nil。访问此属性的值相对较快,因此您可以从应用程序的主线程检查启动时的值。


0
投票

如果您正在检查iCloud服务,那么从CloudKit您可以使用CKContainer类获取用户帐户状态,如下所示

CKContainer *container = [CKContainer defaultContainer];
[container accountStatusWithCompletionHandler:^(CKAccountStatus accountStatus, NSError * _Nullable error) {
    //Here goes your code to handle the account status
}];

0
投票

iOS 10.x swift 4.0基于Said Sikira的回答

func icloudStatus() -> Bool?{
    return FileManager.default.ubiquityIdentityToken != nil ? true : false
}
© www.soinside.com 2019 - 2024. All rights reserved.