Xcode 版本更新产生的问题

Xcode 9 中遇到的问题

问题一: 更新Xcode 9 之后之前定义的代码块不能够使用了
解决方法: 修改 选项 Completion Scopes 为 all
Xcode 版本更新产生的问题_第1张图片
屏幕快照 2017-10-18 11.45.09.png
问题二: Xcode9出现错误safe area layout guide before ios 9

当使用系统小于iOS9的模拟器或者真机在Xcode9上运行时,会编译不过,出现两个错误,如图:

Xcode 版本更新产生的问题_第2张图片
屏幕快照 2017-10-18 16.02.09.png
解决办法: 这是因为苹果在iOS7中引入的Top Layout Guide和Bottom Layout Guide,这些布局指南在iOS 11中被弃用,取而代之的是Safe Area Layout Guide.所以需要在Main.storyboard和LaunchScreen.storyboard上把属性Safe Area Layout Guide.勾去掉,如图:
Xcode 版本更新产生的问题_第3张图片
屏幕快照 2017-10-18 16.02.27.png

重新运行就没问题了

Xcode 8 中遇到的问题

Xcode 版本更新产生的问题_第4张图片
1684855-90991f0519013b42.png
Missing Info.plist key - This app attempts to access 
privacy-sensitive data without a usage description. The app's
 Info.plist must contain an NSCameraUsageDescription key
 with a string value explaining to the user
 how the app uses this data.
大概意思就是说得在plist里面必须加上
NSPhotoLibraryUsageDescription和
NSCameraUsageDescription的键值对才行,
之前都是默认的,现在必须加,要不不让通过,真是坑啊~~具体配置如下图
Xcode 版本更新产生的问题_第5张图片
1684855-67ba2b7cadf78631.png

如下方便复制粘贴用:
麦克风权限:
Privacy - Microphone Usage Description 是否允许此App使用您的麦克风?

相册权限:
Privacy - Photo Library Usage Description 是否允许此App访问您的相册?

相机权限:
Privacy - Camera Usage Description 是否允许此App使用您的相机?

通讯录权限:
Privacy - Contacts Usage Description 是否允许此App访问您的通讯录?

地理位置权限(后台定位):
Privacy - Location Always Usage Description 是否允许此App访问您的地理位置?

地理位置权限(前台定位):
Privacy - Location When In Use Usage Description 是否允许此App访问您的地理位置?

蓝牙权限:
Privacy - Bluetooth Peripheral Usage Description 是否许允此App使用蓝牙?

日历权限:
Privacy - Calendars Usage Description 是否允许此App使用日历?

注意在复制的时候前后不要空格,并且在权限字段后一定要有描述,不然xcode会自动把这个声明删除

查到有前辈讲其中有几项权限是必需设置的,我仅仅设置麦克风,相机,相册的权限声明之后但是仍然没有构建成功,所以将这所有权限在plist文件中统一声明一下最完美,并且提醒用户的权限提示框也只有在app中代码使用到此功能才会弹出,所以不必担心影响用户体验.

所有权限字段添加完成,再次无论用Xcode还是Application loader上传成功之后,在iTunes Connect 后台就会看到成功构建的版本,提交审核就可以了!

你可能感兴趣的:(Xcode 版本更新产生的问题)