兼容iOS 10 _升级xcode8_适配(二)

来源:互联网 发布:笔记本连接网络机顶盒 编辑:程序博客网 时间:2024/06/16 20:04

一.工程改动

1. 工程配置

直接使用Xcode8Beta打开工程后,你会发现你的provisonfile配置出了问题,这是由于在Xcode8中对工程配置有了一些小的改动。

在Xcode8工程配置的general选项卡中,使用更详细signing选项替换了原有的team选项。

选中:project -> target -> general Xcode8之前team选项


Xcode8之前provisionfile选项

[java] view plain copy
 print?
  1. Xcode8之后变更为signing选项  


signing选项展开

2. swift版本

[java] view plain copy
 print?
  1. 假如你Xcode7的工程中使用了swift,那么你使用Xcode8一打开工程就会出现下面的选项,选择convert:  

[java] view plain copy
 print?
  1. 选convert后,会让你选择swift的版本。    
  2. 如果你选择了3.0版本的swift选项,那等待convert结束后,一般依然有一部分需要你做手动适配。    
  3. 假如你暂时不想花费时间做swift版本的适配,你可以选择swift2.3版本,convert并不会转换任何内容,你的项目也可以像以往在Xcode7中那样正常运行。  
  4. 此时我们选择swift2.3:  

[java] view plain copy
 print?
  1. 选择swift版本后,选择你的工程target:  

[java] view plain copy
 print?
  1. 稍等片刻:  

[java] view plain copy
 print?
  1. 选择update,结束收工:  

二、应用适配

1. 权限配置

[java] view plain copy
 print?
  1. 随着人们对隐私保护的注重,似乎苹果的每一代产品都有相应的体现——更为严格的设备和数据访问权限控制。    
  2. 在iOS10中,如果你的App想要访问用户的相机、相册、麦克风、通讯录等等权限,都需要进行相关的配置,不然会直接crash。  
  3.   
  4. 你需要在info.plist中添加你App需要的一些设备权限。  
  5.   
  6. 首先找到info,可以直接在这里添加键值对:  

[java] view plain copy
 print?
  1. 也可以找到info.plist文件,然后使用SourceCode方式打开:  


[java] view plain copy
 print?
  1. 一些常用的权限配置选项:  
  2.   
  3. ```  
  4. // 相机  
  5. NSCameraUsageDescription  
  6. App需要您的同意,才能访问相册  
  7.   
  8. // 相册  
  9. NSPhotoLibraryUsageDescription  
  10. App需要您的同意,才能访问相机  
  11.   
  12. // 麦克风:  
  13. NSMicrophoneUsageDescription  
  14. App需要您的同意,才能访问麦克风  
  15.   
  16. // 通信录  
  17. NSContactsUsageDescription  
  18. App需要您的同意,才能访问通信录  
  19. ```  
  20.   
  21. 其它权限配置选项:  
  22.   
  23. ```  
  24. // 位置  
  25. NSLocationUsageDescription   
  26. App需要您的同意,才能访问位置   
  27.   
  28. // 在使用期间访问位置  
  29. NSLocationWhenInUseUsageDescription   
  30. App需要您的同意,才能在使用期间访问位置   
  31.   
  32. // 始终访问位置  
  33. NSLocationAlwaysUsageDescription   
  34. App需要您的同意,才能始终访问位置   
  35.   
  36. // 日历  
  37. NSCalendarsUsageDescription   
  38. App需要您的同意,才能访问日历   
  39.   
  40. // 提醒事项  
  41. NSRemindersUsageDescription   
  42. App需要您的同意,才能访问提醒事项   
  43.   
  44. // 运动与健身  
  45. NSMotionUsageDescription  
  46. App需要您的同意,才能访问运动与健身   
  47.   
  48. // 健康更新  
  49. NSHealthUpdateUsageDescription   
  50. App需要您的同意,才能访问健康更新    
  51.   
  52. // 健康分享  
  53. NSHealthShareUsageDescription   
  54. App需要您的同意,才能访问健康分享   
  55.   
  56. // 蓝牙  
  57. NSBluetoothPeripheralUsageDescription   
  58. App需要您的同意,才能访问蓝牙   
  59.   
  60. // 媒体资料库  
  61. NSAppleMusicUsageDescription   
  62. App需要您的同意,才能访问媒体资料库  
  63. ```  

2. 字体改变

iOS10的字体发生了变化,这导致一些文字在原有的宽高约束下可能会出现显示不完整或者留白的情况,需要逐一检查。

0 0
原创粉丝点击