使用NSURLSessionConfiguration可以设置使用代理服务器做请求:

NSString* proxyHost = @"1.2.3.4";
NSNumber* proxyPort = [NSNumber numberWithInt: 10888];

// Create an NSURLSessionConfiguration that uses the proxy
NSDictionary *proxyDict = @{
                            @"HTTPEnable"  : [NSNumber numberWithInt:1],
                            (NSString *)kCFStreamPropertyHTTPProxyHost  : proxyHost,
                            (NSString *)kCFStreamPropertyHTTPProxyPort  : proxyPort,
                            
                            @"HTTPSEnable" : [NSNumber numberWithInt:1],
                            (NSString *)kCFStreamPropertyHTTPSProxyHost : proxyHost,
                            (NSString *)kCFStreamPropertyHTTPSProxyPort : proxyPort,
                            };

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
configuration.connectionProxyDictionary = proxyDict;


其中,还可以设置HTTPAdditionalHeaders,解决请求头的问题:

NSString *userPasswordString = [NSString stringWithFormat:@"%@:%@", user, password];
NSData * userPasswordData = [userPasswordString dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64EncodedCredential = [userPasswordData base64EncodedStringWithOptions:0];
NSString *authString = [NSString stringWithFormat:@"Basic %@", base64EncodedCredential];
NSString *userAgentString = @"AppName/com.example.app (iPhone 5s; iOS 7.0.2; Scale/2.0)";

configuration.HTTPAdditionalHeaders = @{@"Accept": @"application/json",
                                        @"Accept-Language": @"en",
                                        @"Authorization": authString,
                                        @"User-Agent": userAgentString};


Authorization是解决页面需要认证的情况,比如登录TP-link的路由器,提示你需要用户名和密码
而如果代理服务器需要验证,则可以加上一条类似的头信息,key值不一样
把Authorization 改为 Proxy-Authorization 即可

这个情况可以用curl了解到:

引用
curl -v baidu.com -x 1.2.3.4:10888 --proxy-user abc:xyz
* About to connect() to proxy 1.2.3.4 port 10888 (#0)
*   Trying 1.2.3.4... connected
* Connected to 1.2.3.4 (1.2.3.4) port 10888 (#0)
* Proxy auth using Basic with user 'abc'
> GET http://baidu.com HTTP/1.1
> Proxy-Authorization: Basic abc..xyz=
> User-Agent: curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: baidu.com
> Accept: */*
> Proxy-Connection: Keep-Alive
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK


参考页面:
http://www.objc.io/issues/...
http://stackoverflow.com/q...
《编写高质量IOS与OS X代码的52个有效方法》

看完这本书,感觉还是外国人写的书讲述问题的方式比较不错。
讲述问题很细致,例子选的精巧,有深度,抓住重点,非常好。

block的讲述非常好,让我搞明白了使用block的好处。
block让代码逻辑更清晰,实现一些复杂的依赖关系的任务。
NSCache的使用技巧也不错,平时没有了解到,提到就觉得很实用。
对内存管理方面很有总结,各样的内存泄漏方式都有描述,很翔实。

有兴趣的同学可以买了看,推荐。
注:碰到同样的问题,这样是解决了

在项目中用模拟器中进行音频录音方面的调试,碰到一个莫名的问题,就是在ios6的模拟器中运行没问题,但是在ios7的模拟下出以下错误提示:

xCode5 在ios7模拟器中出现__cxa_throw _pthread_exit错误

看了半天,没发现程序代码有什么错误,但在在移除所有断点后,程序在ios7模拟器下运行正常了。原来是在调试时加了“All Exceptions” Breakpoint, 移除后一切正常,猜想是不是ios7模拟器下catch到了异常导致了程序的异常中断。

http://www.xuebuyuan.com/1741105.html
引用
系统的用<>,自己的用“"

""表示从当前项目路径开始寻找文件,如果找不到,则到系统(项目)中配置的头文件路径去找;
<>表示直接到系统(项目)中配置的头文件路径去找。


http://www.cocoachina.com/bbs/read.php?tid=72400
拍照有旋转角度,会导致直接存储变成90度
下面的是简单的解决方式,不太齐全,但可以参考图片处理功能
完整的做法参考这个比较好:
http://stackoverflow.com/q...

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info  
{  
    NSString *type = [info objectForKey:UIImagePickerControllerMediaType];  
    if ([type isEqualToString:@"public.image"]) {  
        UIImage* image=[info objectForKey:UIImagePickerControllerOriginalImage];  
        UIImageOrientation imageOrientation=image.imageOrientation;  
        if(imageOrientation!=UIImageOrientationUp)  
        {  
            // 原始图片可以根据照相时的角度来显示,但UIImage无法判定,于是出现获取的图片会向左转90度的现象。  
            // 以下为调整图片角度的部分  
            UIGraphicsBeginImageContext(image.size);  
            [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];  
            image = UIGraphicsGetImageFromCurrentImageContext();  
            UIGraphicsEndImageContext();  
            // 调整图片角度完毕  
        }  
        [picker dismissViewControllerAnimated:YES completion:nil];  
    }  
}  
分页: 2/26 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐