iOS - 总结适配IOS10需要注意的问题
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需要注意的问题的更多相关文章
- iOS开发 适配iOS10
2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操作系统iOS 10将正式上线. 作为开发者,如何适配iOS10呢? 1.Notification(通知) 自从Notificat ...
- iOS 如何适配iOS10
转自: http://www.cnblogs.com/jukaiit/p/5881062.html 2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操作系统iOS 10将正式上线 ...
- iOS - 如何适配iOS10(插曲)
升级了系统10.12beta xcode8 出现一大推问题 ,连上架APP都成了问题.只能先解决这些问题,再研究3D引擎了. 2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操 ...
- iOS开发 适配iOS10以及Xcode8[转]
现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本, ...
- iOS开发 适配iOS10以及Xcode8
iOS10的适配以及Xcode8使用上的一些注意点 一.证书管理 用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书.建议大家勾选这个Automaticall ...
- iOS开发 适配iOS10以及Xcode8-b
现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本, ...
- 【转】iOS学习之适配iOS10
适配iOS10 2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操作系统iOS 10将正式上线. 作为开发者,如何适配iOS10呢? 1.Notification(通知) 自从N ...
- 适配iOS10的哪些事 ---- 学习笔记八
一. 上传了一个版本,为什么没有构建版本? 解:info.plist中的Bundle version 与上一个版本一致或少于上一个版本,上线新版本时,Bundle version和Bundle ... ...
- 【腾讯Bugly干货分享】QQ电话适配iOS10 Callkit框架
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58009392302e4725036142fc Dev Club 是一个交流移动 ...
随机推荐
- openresty开发系列24--openresty中lua的引入及使用
openresty开发系列24--openresty中lua的引入及使用 openresty 引入 lua 一)openresty中nginx引入lua方式 1)xxx_by_lua ---> ...
- ISO/IEC 9899:2011 条款6.8.2——标签语句
6.8.2 复合语句 语法 1.compound-statement: { block-item-listopt } block-item-list: block-item block-i ...
- oracle根据sqlID查找相对应的sql语句
转: 根据sqlID查找相对应的sql语句 2019-07-25 14:47:20 猛豪 阅读数 567更多 分类专栏: 数据库 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议 ...
- python哲学
import this The Zen of Python, by Tim Peters # python的设计哲学, 作者:Tim Peters Beautiful is better than u ...
- Qt编写自定义控件66-光晕时钟
一.前言 在上一篇文章写了个高仿WIN10系统的光晕日历,这次来绘制一个光晕的时钟,也是在某些网页上看到的效果,时分秒分别以进度条的形式来绘制,而且这个进度条带有光晕效果,中间的日期时间文字也是光晕效 ...
- F5负载均衡 MIBs bigip oid
F5 MIBs 分组bigip-ltmpool-stat oid=".1.3.6.1.4.1.3375.2.2.5.2.3.1.1" name=&q ...
- HtmlHelper介绍
目录 什么是HtmlHelper? 为什么要使用HtmlHelper? 清爽简单 修改路由不用改连接 很早就知道这个了,但是我一直不用.今天看了看书,准备以后都使用这个 什么是HtmlHelper? ...
- Codeforces Round #556 (Div. 2) D. Three Religions 题解 动态规划
题目链接:http://codeforces.com/contest/1150/problem/D 题目大意: 你有一个参考串 s 和三个装载字符串的容器 vec[0..2] ,然后还有 q 次操作, ...
- mongodb 内嵌数组查询问题: 如何限定返回与条件匹配的数组
原文地址:https://segmentfault.com/q/1010000002943721
- mycat搭建环境
macos完全卸载mysql: https://blog.csdn.net/u012721519/article/details/55002626 踩过的坑: mycat1.6不支持单库分表; 最少要 ...