iOS开发 使用有道翻译API实现翻译功能
1、搜索“有道翻译API”,或者打开网址找到官方网站。

2、注册开发者,填写注册资料。操作简单、速度也快。


3、iOS开发使用有道翻译API需要用到注册返回的两个关键字段:keyfrom和key。这两个字段要记住,需要用在代码中。参考有道翻译API文档,了解数据接口。
http://fanyi.youdao.com/openapi.do?keyfrom=<keyfrom>&key=<key>&type=data&doctype=<doctype>&version=1.1&q=要翻译的文本

4、创建工程项目和视图控制器
创建一个single view工程项目,自动创建一个ViewController试图控制器。

5、配置宏定义keyfrom和key
#define YOUDAO_keyfrom @""
#define YOUDAO_key @""

6、用OC实现传入所需要翻译的词,获取翻译结果。
//翻译方法,传入和返回都是NSString类型
- (NSString *)translateText:(NSString *)string{
NSString *strURL = [NSString stringWithFormat:@"http://fanyi.youdao.com/openapi.do?keyfrom=%@&key=%@&type=data&doctype=json&version=1.1&q=%@",YOUDAO_keyfrom,YOUDAO_key,[string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]];
NSError *err = nil;
NSArray *strResult;
if(strURL!=nil) {
NSURL *url = [NSURL URLWithString:strURL];
NSData *data = [NSData dataWithContentsOfURL:url];
NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&err];
strResult = [dictionary objectForKey:@"translation"];
}
if(err){
return [NSString stringWithFormat:@"error=%@", [err description]];
}else {
return [NSString stringWithFormat:@"%@", strResult[0]];
}
}

1、iOS9、Xcode7要使用https,但是现在很多网络请求是使用http的,所以要暂时禁用ATS。方法很简单,其实只要修改Info.plist文件就可以了。下面两种方法操作的结果是一样的。
2、方法一:
Info.plist显示XML格式,Info.plist右键 -> Open As -> Source Code,添加下面代码:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

3、方法二:
Info.plist文件,右键 ->Add Row,命名为:NSAppTransportSecurity,选择Dicdictionary格式。为它添加+item,命名为:NSAllowsArbitraryLoads,选择Boolean布尔类型,值设为YES。效果如图:
