Ios 解析不区分大小写的登录

Ios 解析不区分大小写的登录,ios,swift,parse-platform,Ios,Swift,Parse Platform,我在我的Xcode应用程序中使用Parse,当我尝试登录时: 用户名:Admin 密码:test 它起作用了。但是当我进去的时候 用户名:admin 密码:test 登录参数无效。有没有办法使解析不区分大小写 评论中的链接基本上是这样说的:当您创建一个新的用户对象时,或者在您允许用户登录调用之前: let username = usernameLabel.text .......................... username = username.lowercaseString ...

我在我的Xcode应用程序中使用Parse,当我尝试登录时:

用户名:Admin 密码:test

它起作用了。但是当我进去的时候

用户名:admin 密码:test


登录参数无效。有没有办法使解析不区分大小写

评论中的链接基本上是这样说的:当您创建一个新的用户对象时,或者在您允许用户登录调用之前:

let username = usernameLabel.text
..........................
username = username.lowercaseString
..........................
//Then save the object

因此,这不是一种使解析不区分大小写的方法,但它消除了使其不区分大小写的需要,因为所有内容都是小写的

解析使用的某些参数区分大小写,因此在用户保存任何用户列属性之前,您需要实施适当的方法来纠正这一点。事实发生之后就太晚了。简而言之,让用户键入他们想要的用户名,并将其作为小写字符串保存到后端。然后,当他们重新输入时,将用户输入字符串转换为另一个小写字符串,并根据后端(现在是小写表示)对其进行验证。

是的,您可以,但由您在客户端实现它。这里有一些例子:我知道你是用swift编码的,但是对话的主题对你来说还是有意义的,但是这改变了username@LucasChwe如果显示用户名(用户如何设置其样式)是应用程序的一个关键点,那么这就是一个问题。如果是,则您可以1)存储用户输入的用户名,并使用regex进行过滤(可能是一个昂贵的操作)
query.whereKey(“用户名”,matchesRegex:“我的用户名”,修饰符:“I”)
或2)使用单独的列
displayUsername
作为用户的直接输入,使用
username
作为小写版本。后者可能更好,因为Parse有特定的登录方法。