Ответы:
mystr=[mystr substringToIndex:3];
Убедитесь, что в вашей строке есть хотя бы 3 канала. Это приведет к сбою приложения.
Вот еще несколько ссылок для проверки операций NSsting ...
Во-первых, вы должны убедиться, что строка содержит как минимум 3 символа:
NSString *fullString = /* obtain from somewhere */;
NSString *prefix = nil;
if ([fullString length] >= 3)
prefix = [fullString substringToIndex:3];
else
prefix = fullString;
substringToIndex:
вызовет исключение, если предоставленный вами индекс находится за пределами конца строки.
правильный путь:
text = [text substringToIndex:NSMaxRange([text rangeOfComposedCharacterSequenceAtIndex:2])];
substringToIndex в NSString индексируется по единицам кода, эмодзи занимает две единицы кода.
обязательно проверьте индекс самостоятельно.