当前位置: 首页 > 工具软件 > iPhone SDK > 使用案例 >

iOS 10 SDK 说明(一)

江嘉悦
2023-12-01

英语不好。。。翻译的很勉强

介绍

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锁死。
 类似资料: