你的位置:首页 > 操作系统

[操作系统]再IOS9中请求http地址的时候会报的错误解决。AVAudioPlayer为什么代码没有问题但是播放不出来的原因


在新版的Xcode7.1中在请求HTTP的时候总会报一些错误,只要有http的请求都会报错,在iOS9 中,苹果将原http协议改成了https协议,使用 TLS1.2 SSL加密请求数据

报的错大概是有2种

第一种:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app‘s Info.plist file.

第二种:NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9807)

其中出现这两种的错误的解决方法:在表示工程属性info.plist中添加:NSAppTransportSecurity,他的类型是个字典,然后点击+会出现2个选项。然后在 NSAllowsArbitraryLoads 选YES;


一般这个时候就可以出现http请求的网络了,如果模拟器出现第二种情况就把http加个s或去掉s(一般只要是原来的网址就可以了)
//__________________________________________________________________________________________
又一次我在做一个后台的播放器,我用了AVAudioPlayer ,我检查了几遍我的代码都没有什么问题,但是就是后台运行不出声音。如果遇到这种情况的可能是没有AVAudioPlayer的对象设置为全局的对象,(可能因为是如果我是设置成局部的变量,可能编译器编译完代码就会把这个对象retain掉,而播放一个音乐是要一定的时间,可以把他的对象再dealloc中程序结束运行的时候reation掉