В который метод кодирования NSString будет процент выйти из амперсанда (и) символа правильно %26
?
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding
получает пробелы (%20) и других злодеев, но игнорирует амперсанды!?!
AMPERSANDS не будут обработаны этим методом, потому что они юридические символы в URL. Вы, вероятно, должны предварительно обрабатывать особенно проблемные части, по частям, до этого вызова.