I don’t speak Polish, so my answer may be terribly wrong, but according to http://www.unicode.org/Public/6.2.0/ucd/UnicodeData.txt the characters "ł" and "Ł" are not combinations " regular "character with a diacritical mark.
The entry for "±" in the Unicode data file
0105; LATIN SMALL LETTER A WITH OGONEK; Ll; 0; L; 0061 0328 ;;;; N; LATIN SMALL LETTER A OGONEK ;; 0104 ;; 0104
and the sixth field “0061 0328” indicates that “±” can be decomposed into “a” and U + 0328 (COMBINING OGONEK).
But the entries for "ł" and "Ł" are
0141; LATIN CAPITAL LETTER L WITH STROKE; Lu; 0; L ;;;;; N; LATIN CAPITAL LETTER L SLASH ;;; 0142;
0142; LATIN SMALL LETTER L WITH STROKE; Ll; 0; L ;;;;; N; LATIN SMALL LETTER L SLASH ;; 0141 ;; 0141
where the sixth field is empty, so these characters are not decomposed.
Therefore, I doubt that there will be some function that normalizes "ł" to "l", and you would have to do this using
[result replaceOccurrencesOfString:@"ł" withString:@"l" options:0 range:NSMakeRange(0, [result length])];
source share