检查iOS设备是否被阻止

时间:2018-07-27 09:11:18

标签: ios swift firebase

是否有办法识别被我的应用阻止的设备,因此他们无法创建第二个帐户?

我已经阅读了一些有关Apple自己的IPA的唯一标识和DeviceCheck的信息。我还考虑过在用户注册时询问电话号码,但这对我来说似乎有点复杂,其他解决方案仅在用户足够友好而无需重新安装应用程序的情况下有效。

我采用的另一种方法是获取一些信息(运营商,iPhone名称,iOS版本,iPhone型号等),将其打包为一个String并将其用作唯一ID,但是其中一些信息可以轻松更改而且我不认为苹果会喜欢这种解决方案。

我确信有更好/更简单的解决方案。

(此任务在Android中似乎非常简单。我计划使用以下语句:UUID.randomUUID().toString();

该信息可以帮助您: 我正计划将此应用程序连接到Firebase。

在最佳情况下,该解决方案将在iOS 8.0到当前的iOS版本之间运行。 我愿意接受Swift或Objective C中的任何一种创意解决方案。

1 个答案:

答案 0 :(得分:2)

我们可以使用SSKeychain来实现。一旦我们在SSkeychain中设置了特定的值,就使用SSKeychain,即使我们从ios设备中删除了该应用程序,该值也将保持不变。

请检查以下内容,例如 Objective- C

 if([SSKeychain passwordForService:@"your application bundle identifier" account:@"user"] == nil)
            {
                    NSString *UUID = AppDelegate.GetUUID;
                    [SSKeychain setPassword:UUID forService:@"your application bundle identifier" account:@"user"];
                    NSString *retrieveuuid = [SSKeychain passwordForService:@"your application bundle identifier" account:@"user"];
                    NSLog(@"retrieveuuid %@",retrieveuuid);
            }
    + (NSString *)GetUUID {
            CFUUIDRef theUUID = CFUUIDCreate(NULL);
            CFStringRef string = CFUUIDCreateString(NULL, theUUID);
            CFRelease(theUUID);
            return (__bridge NSString *)string;
    }