英语不好。。。翻译的很勉强
介绍
iOS 10 idk 对开发iOS app 提供支持。它将一套完整的xcode工具、编译器和开发iOS和OS X软件的框架整合到一起。这些工具包含xcode集成环境和仪器分析工具,等等。
用这个软件你可以为各种(iPhone,iPad,iPod)运行iOS 10 的设备开发app。你还可以用包含的模拟器(支持iOS 10)测试你的app。iOS 10 SDK 需要一台Mac电脑(OS X v10.10.3或更新版本)。
这个版本的iOS只用来安装在苹果开发者计划中的注册设备上。如果尝试以未被授权的方式安装这个版本的iOS会把你的设备变成砖。。。。
更多的信息和附加的支持资源请查看
http://developer.apple.com/programs/ios/.
程序错误报告
如果问题没有在下文(“注释和已发现问题”)提及,请通过苹果开发者网站发送错误 https://developer.apple.com/bug-reporting/。除此之外,你可以在苹果开发者论坛(http://devforums.apple.com)上讨论这些问题和iOS 10 SDK。关于iCloud的更多开发信息请登录http://developer.apple.com/icloud。
注释和已发现问题
下列项目涉及到使用iOS 10 SDK进行代码开发。
AVFoundation
AVCapturePhotoCaptureDelegate 可选代理方法didFinishProcessingPhoto 和 didFinishProcessingRawPhoto 的命名被分别改为captureOutput:didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSettings:bracketSettings:error: 和 captureOutput:didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSettings:bracketSettings:error:
代码中用以前的命名将可以继续编译,但是旧的代理回调方法将不会执行。
Binary Compatibility
1.苹果保留两个字母前缀用于框架类,当你命名自己的类时,请用三个字母前缀。详情参考Conventions。
不这么做可能导致你的app在开发过程中crash。
2.在iOS 10 的基础上重新编译,调用valueForKey:传入的key为nil时,会抛出一个异常。在以前,这会是一个未定义行为。现在,它会导致你的app崩溃。
3.在fontWithName:size: 方法里引用一个系统字体名字会导致app崩溃。更多请看https://developer.apple.com/videos/play/wwdc2015/804/.
4.为了加强用户隐私,HTTPS(安全超文本传输协议)链接,NSURLSession和 NSURLConnection 在TSL握手协议中不再支持RC4加密方法。受影响的APP和服务项目应该升级你的服务器用更新的加密方法。
5.如果在viewWillLayoutSubviews 或者 layoutSubviews中改变了一个父视图的结构会导致APP中止。
6.NSURLConnection不接受低于指定版本tsl协议的链接用于ATS下NSExceptionMinimumTLSVersion 或者 NSThirdPartyExceptionMinimumTLSVersion的key。受影响的APP和服务项目应该升级你的服务器用更新版本的TLS 协议。了解更多的ATS的键和值,请查看App Transport Security。
CFNetwork HTTP Protocol
unopened stream真心不知道咋翻译。。。
NSMutableURLRequest类需要HTTPBodyStream的属性是一个未开放流。现在NSURLConnection 和 NSURLSession 类严格执行这个未开放流要求。受影响的APP请确保任何NSInputStream还没有被开启。
CloudKit
当用xcode反复的构建(building)或者运行(running),长时间运作会报“You don’t have permission to save the file”错误提示,因为容器路径在频繁的改变。
HomeKit
如果网络凭证不优先使用Settings > Wi-Fi > Set Up New Device 选项,加入大规模应用社区(WAC)Homekit附件会使主应用程序失败。
Workaround:如果加入一个Homekit附件失败,设置Settings > Wi-Fi > Set Up New Device。在被加入网络后,附件可以被添加使用主app。
libdispatch
如果发现Libdispatch断言是由于dispatch_barrier_sync锁死。