NSString
имеет диакритически нечувствительный режим сравнения, который будет делать то, что вам нужно.
// should return NSOrderedSame, i.e. identical
[@"Apple" compare:@"Ápple"
options:NSDiacriticInsensitiveSearch]
Если вы хотите, чтобы он также не учитывал регистр:
// ditto
[@"APPLE" compare:@"Ápple"
options:NSDiacriticInsensitiveSearch | NSCaseInsensitiveSearch]