1、自动管理证书

首先要说的就是Xcode8。打开Xcode8最明显的就是Targets-->General下的自动管理证书模块。以前对于新手来说无论是开发还是打包都必须要被苹果的开发签名系统虐上几遍才能真正明白它的原理和规程。现在貌似直接勾上“Automatically manage signing”,Xcode8一切都帮我们做好了。不得不说确实很方便!

不过认真想想,这个“Automatically manage signing”按钮无非就是自动帮我们在开发者中心创建appid、cetificaiton、profire provision等等证书文件并且自动关联上。但是如果我们证书管理不规范,很有可能出现revoke证书的情况。这是一直以来很头疼的事情。所以我还是推崇开发者自己手动创建和管理证书。呵呵,这个自动管理证书的按钮我们选择不勾上。

2、杂乱无章的日志输出

Xcode8启动后一连串杂乱无章的日志输出,第一反应就是这是什么鬼!

在网上查了一下,原来这个日志的输出是可以关闭的。关闭路径:Edit Scheme-->Run-->Arguments-->Enviroment Variables ,添加一个配置选项就好了 “OS_ACTIVITY_MODE = Disable”。

3、推送增加 entitlements 文件签名

Xcode8增加了一项很重要的功能:为推送增加了entitlements 文件签名。所以,如果你的应用是支持推送的,那一定要记得打开这个entitlements

文件签名的开关!否则APP在启动注册推送服务的时候就报签名错误了,Push消息也就不可能接收的到。

下图的开关记得打开!

另外,苹果对推送的框架和API也做了重大的调整,需要开发者对IOS10+做相应的适配,后面会详细介绍。

4、系统权限设置

IOS10对系统权限的使用做了更加严格的控制。

APP想要使用系统的某个权限,必须要在项目设置info.plist文件中设置相应的权限说明,否则在IOS10上会出现崩溃。

事实上,如果你的应用使用了系统某个权限,但是没有设置相应的权限说明,那么你的应用在上传到itunes connect后会马上被changed to invalid

binary。

因为这个坑我们第一天就踩了:用Xcode 8打包上传App,本地验证和ipa上传都正常,但是上传成功后,包马上被changed

to invalid binary,itunes connect后台的构建版本也一直出不来。一看反馈邮件,原因就是使用了某个系统权限但是没有添加相应权限的说明!

相应的系统权限说明如下:

麦克风权限---> Privacy - Microphone Usage Description :是否允许此App使用你的麦克风?

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

相册权限---> Privacy - Photo Library Usage Description :是否允许此App访问你的媒体资料库?

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

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

语音转文字权限---> Privacy - Speech Recognition Usage Description :是否允许此App使用语音识别?

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

定位权限---> Privacy - Location When In Use Usage Description :我们需要通过您的地理位置信息获取您周边的相关数据

定位权限---> Privacy - Location Always Usage Description :我们需要通过您的地理位置信息获取

5、字体变大,原来的一些控件出现字体显示不全

IOS10下的字体比原来的字体更大。

以前刚刚好显示的下的文字在IOS10上竟然显示不全了,因为IOS10的中文字体比原先的字体要大,目前的解决方法就是把原来定宽且刚好显示完全的控件重新调整一遍:要么把宽度加宽要么内容自适应大小。

6、IOS10跳转到系统设置的相应方法已经禁止

在iOS10以前,我们可以通过以下方法跳转到设置相应的页面去:

//跳转到设置的 WIFI 页面
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];

另外:

IOS6和IOS7需要设置URL Schemes:在URL Types中添加一个新项(prefs)。

IOS8和IOS9则不需要设置这个。

IOS10已经禁止,所以IOS10的系统可以去除这部分业务逻辑了。

关于APP跳转到系统Setting,可以参考本人的这篇文章。App如何跳转到系统Settings

7、Xcode代码注释不能用

这个是因为苹果解决xcode ghost,把插件屏蔽了。

解决方法

打开终端,命令运行: sudo /usr/libexec/xpccachectl

然后必须重启电脑后生效

iOS - 总结适配IOS10需要注意的问题的更多相关文章

  1. iOS开发 适配iOS10

    2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操作系统iOS 10将正式上线. 作为开发者,如何适配iOS10呢? 1.Notification(通知) 自从Notificat ...

  2. iOS 如何适配iOS10

    转自: http://www.cnblogs.com/jukaiit/p/5881062.html 2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操作系统iOS 10将正式上线 ...

  3. iOS - 如何适配iOS10(插曲)

    升级了系统10.12beta xcode8  出现一大推问题 ,连上架APP都成了问题.只能先解决这些问题,再研究3D引擎了. 2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操 ...

  4. iOS开发 适配iOS10以及Xcode8[转]

    现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本, ...

  5. iOS开发 适配iOS10以及Xcode8

    iOS10的适配以及Xcode8使用上的一些注意点 一.证书管理 用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书.建议大家勾选这个Automaticall ...

  6. iOS开发 适配iOS10以及Xcode8-b

    现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本, ...

  7. 【转】iOS学习之适配iOS10

    适配iOS10 2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操作系统iOS 10将正式上线. 作为开发者,如何适配iOS10呢? 1.Notification(通知) 自从N ...

  8. 适配iOS10的哪些事 ---- 学习笔记八

    一. 上传了一个版本,为什么没有构建版本? 解:info.plist中的Bundle version 与上一个版本一致或少于上一个版本,上线新版本时,Bundle version和Bundle ... ...

  9. 【腾讯Bugly干货分享】QQ电话适配iOS10 Callkit框架

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58009392302e4725036142fc Dev Club 是一个交流移动 ...

随机推荐

  1. php报错syntax error, unexpected T_GOTO, expecting T_STRING,报错文件与行数指向以下代码,是什么原因?

    本机php版本是5.3.8,Apache/2.2.21public function goto($url, $msg=NULL) {if ($msg) {$this->jsAlert($msg) ...

  2. Eclipse安装中文简体语言包

    原文地址:https://blog.csdn.net/qq_41101213/article/details/84405452 方法一:1. 下载中文语言包: 1.1 打开网址:http://www. ...

  3. LeetCode_242. Valid Anagram

    242. Valid Anagram Easy Given two strings s and t , write a function to determine if t is an anagram ...

  4. linux用户解锁

    pam_tally2 --user=username  #查看 pam_tally2 --user=username --reset #重置

  5. win10中禁用Ctrl+Alt+上下左右箭头的方法

    win10的Ctrl+Alt+向左/右/上/下箭头,与pycharm中的快捷键有冲突,需要禁用 右键''显示设置''---->高级显示设置------->显示器1的显示适配属性-----& ...

  6. 《ucore lab8》实验报告

    资源 ucore在线实验指导书 我的ucore实验代码 练习1: 完成读文件操作的实现(需要编码) 题目 首先了解打开文件的处理流程,然后参考本实验后续的文件读写操作的过程分析,编写在sfs_inod ...

  7. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

    package com.hadoop.hdfs; import org.apache.hadoop.yarn.webapp.hamlet.Hamlet; import org.junit.Test; ...

  8. STM32之中断函数

    本文做中断函数的索引,帮助我们找到中断函数名.中断函数参数以及中断服务函数他们的来源,以便我们编程. 1)如果一个工程只有一个中断,则我们可以进行两个步骤就可以了: 使能中断通道 编写中断服务函数 2 ...

  9. css拓展

    自定义居中 .second-listleft{/*固定位置*/ position: relative; float: left; width: 25%; height: 100%; backgroun ...

  10. WUSTOJ 1338: The minimum square sum(Java)

    题目链接:1338: The minimum square sum Description Given a prime p(p<108), you are to find min{x2+y2}, ...