2

私のプロジェクトでは、CloudKit レコード タイプ「ユーザー」(他のレコード タイプ名でもテストしました) を使用して、メール フィールドを持つレコードを作成します。

そのメールを正確に照合し、一致するレコードを取得しようとしています。私はこれを IN または == 述語で行っています (単一または電子メールのリストの場合)。

let query = CKQuery(recordType: "User", predicate: NSPredicate(format: "email IN %@", emails))
let query = CKQuery(recordType: "User", predicate: NSPredicate(format: "email == %@", "julio_ukohgsp_chevez@tfbnw.net"))

私が問題を抱えている電子メールは「julio_ukohgsp_chevez@tfbnw.net」です。この電子メールでレコードを取得しようとすると、0 が返されますが、「julio_ukohgsp_chevez@tfbnw.ne」に変更すると、正常に取得されます。

最初は特殊文字だと思っていましたが、それらを含む他の文字列は正常に機能します。次に、長さを想定しますが、他の長い文字列は問題なく機能します。

他の誰かがこの問題を抱えていますか? この文字列に一致できない理由を理解せずに、CloudKit を信頼するのに苦労しています。

私は同様の質問をしましたが、詳細を知る前に、ユーザーがこれをテストして、この文字列で同じ結果を得ました。この投稿はより簡潔で、再作成する手順があります。

4

1 に答える 1