AFNetworking崩溃在多语言应用程序

问题描述:

路线[SOURCE_NAME] = 2152,%20Mohali%20Stadium%20Rd,%20Phase%2010%20Sector%2064%20Sahibzada%20Ajit%20Singh%20Nagar,%20Punjab%20160062,%20भारतAFNetworking崩溃在多语言应用程序

此参数在使用西班牙语和英语正常工作时导致印地语运行时崩溃。请给我建议。崩溃说明如下: -

***终止应用程序由于未捕获的异常 'NSInternalInconsistencyException',理由是: '无效的参数不能满足 :URLString'


请与本

的Objective - C

NSString *string = @"भारत"; 
NSString *encoded = [string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]; 

雨燕3.0

let string = "भारत" 
let urlString = string.addingPercentEncoding(withAllowedCharacters: . urlUserAllowed) 

输出::%E0%A4%AD%E0%A4%BE%E0%A4%B0%E0%A4 A4%

+0

它的工作感谢您的快速响应。 –

添加下面的一行代码以避免url中的无效参数。

NSString *str = ...; // Your URL 
NSCharacterSet *set = [NSCharacterSet URLHostAllowedCharacterSet]; 
NSString *result = [str stringByAddingPercentEncodingWithAllowedCharacters:set]; 

已过时代码的ios 9.0之前:

NSString *str = ...; // Your URL 
NSString *urlAsString = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
+0

'stringByAddingPercentEscapesUsingEncoding'是在IOS 9弃用+ – Shahrukh

+0

你的仪式@shahrukhshikalgar。我已更新我的答案 – Maddy