最近做项目的时候需要用到这个功能,网上比较修行的第三方框架,已经在iOS10中转换失败,
以下是一种成功的做法,有更好的方法可以提出
- (NSString *) phonetic:(NSString*)sourceString {
NSMutableString *source = [sourceString mutableCopy];
CFStringTransform((__bridge CFMutableStringRef)source, NULL, kCFStringTransformMandarinLatin, NO);//先转换为带音标
CFStringTransform((__bridge CFMutableStringRef)source, NULL, kCFStringTransformStripDiacritics, NO);//再去掉音标
NSString *outputPinyin = [source stringByReplacingOccurrencesOfString:@" " withString:@""];//最后去掉多余的空格
return outputPinyin;
}