Каково значение m_strPhoneNumber и phonenumberstring в этой точке. Правильно ли задан номер телефона?
Чтобы убрать первую скобку, почему бы не использовать stringByReplacingOccurrencesOfString:@"("
withString: @ "" и т. Д., Это может показаться менее хрупким. На самом деле, я бы предложил удалить все нечисловые символы - даже дефисы.
Возможно, это излишне, но попробуйте что-то вроде:
m_strPhoneNumber = [NSMutableString stringWithString:@"tel:%@"];
NSArray *numberTokens = [phonenumberstring componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]];
for (NSString *token in numberTokens) {
m_strPhoneNumber = [m_strPhoneNumber stringByAppendingString:token];
}
В качестве небольшого стиля я бы сказал, что phoneNumberString
более читабелен. Я бы также рекомендовал использовать больше переменных - оптимизатор позаботится о том, чтобы они не оказали влияния, и это значительно упростит отладку.