The removal of diacritics is called "folding." You can compare strings without regard to diacritics using the option NSDiacriticInsensitiveSearch
.
[string compare:otherString options:NSDiacriticInsensitiveSearch] == NSOrderedSame
You can similarly generate a folded string using stringByFoldingWithOptions:locale:
.
Note that this only removes diacritics. There are many ways that characters can "seem" the same without being the same. Turkish is somewhat notorious about this because the lowercase version of "I" is "ı" (LATIN SMALL DOTLESS I), not "i". If you're particularly dealing with Turkish, you may have to account for this.