2016-07-23 11 views
0

Это может быть дублирующий вопрос, но я проверил все и не могу найти рабочий ответ для iOS9. -stringByAddingPercentEscapesUsingEncoding устарел. Мне нужно использовать -stringByAddingPercentEncodingWithAllowedCharactersNSURL: побег с обратной косой чертой с использованием NSCharacterSet

Ниже приведена строка, для которой требуется обратная косая черта, чтобы API мог аутентифицировать сеанс и возвращать ответ.

NSString *base = @"http://domain.com/interface/?end=imember"; 
NSCharacterSet *set = [NSCharacterSet URLQueryAllowedCharacterSet]; 
NSString *key = [@"&client_key=KOB3N6KX9JXF2MRPO5U.BRFYM7TYVE\/16KIJVXZA6R7H\/1LD1K\/JYIYG7IZP2HA7NUYOVNT3CJG==&token=SGD7E9B29TQ.8HIITZ37XW3GLK5OGLZNLCDM=" stringByAddingPercentEncodingWithAllowedCharacters:set]; 

Стандартные наборы URL символов не бежать обратный слэш, я пытался их всех:

URLUserAllowedCharacterSet 
URLPasswordAllowedCharacterSet 
URLHostAllowedCharacterSet 
URLPathAllowedCharacterSet 
URLQueryAllowedCharacterSet 
URLFragmentAllowedCharacterSet 

Пожалуйста, если кто-то может помочь, я довольно новыми для развития. Возможно ли создать настраиваемый разрешенный набор, который включает обратную косую черту?

EDIT:

Это то, что URL должен выглядеть следующим образом:

http://domain.com/interface/?end=imember&client_key=KOB3N6KX9JXF2MRPO5U.BRFYM7TYVE\/16KIJVXZA6R7H\/1LD1K\/JYIYG7IZP2HA7NUYOVNT3CJG==&token=SGD7E9B29TQ.8HIITZ37XW3GLK5OGLZNLCDM= 

ответ

1

Точное решение для вас ответить, below.I получил его от Zaph's answer .Это является лучшим ответом, чем другой ответ.

NSString *unescaped = @"http://domain.com/interface/?end=imember"]; 
NSString *escapedString = [unescaped stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]; 
NSLog(@"escapedString: %@", escapedString); 

URL кодировки символов Наборы

URLFragmentAllowedCharacterSet "#%<>[\]^`{|} 
URLHostAllowedCharacterSet  "#%/<>[email protected]\^`{|} 
URLPasswordAllowedCharacterSet "#%/:<>[email protected][\]^`{|} 
URLPathAllowedCharacterSet  "#%;<>?[\]^`{|} 
URLQueryAllowedCharacterSet  "#%<>[\]^`{|} 
URLUserAllowedCharacterSet  "#%/:<>[email protected][\]^` 
+0

Когда я использую URLHostAllowedCharacterSet это результат: – Alexander

+0

'& client_key = KOB3N6KX9JXF2MRPO5U.BRFYYGM7TYVE% 2F16KIJVXZHUA6R7H% 2F1LDD1K% 2FJYIY22G7IZP2HA7NUYOVJWEHNT3CJG == & лексема = SGD7XXL ... LZNLCDM = 'он заменил обратную косую черту знаком Percentage – Alexander

+0

Спасибо, что это работает, это была ложная ошибка при подключении ... – Alexander