就我的使用来说,总体觉得苹果还是坑不断,但是也在一直进步的啦。下面我就来说说,iOS10的适配以及Xcode8使用上的一些注意点。

一、证书管理

用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书。建议大家勾选这个Automatically manage signing(Ps.但是在beat2版本我用的时候,完全不可以,GM版本竟然神奇的又好了。)

下面我来说说可能会出现的问题:

1.Xcode未设置开发者账号情况下的截图

解决办法是:大家在Xcode的偏好设置中,添加苹果账号,即可。

2.设备机器未添加进开发者的Device情况下的截图

解决办法是:大家在官网将设备添加进开发机后,陪下描述文件重新下个描述文件即可。

3.正常情况:Xcode配置登录开发者账号后的图片,耐心等待即可。

等待完成之后的图

二、Xib文件的注意事项

使用Xcode8打开xib文件后,会出现下图的提示。

大家选择Choose Device即可。
之后大家会发现布局啊,frame乱了,只需要更新一下frame即可。如下图

注意:如果按上面的步骤操作后,在用Xcode7打开Xib会报一下错误,

解决办法:需要删除Xib里面

这句话,以及把中的toolsVersion和中的version改成你正常的xib文件中的值
,不过不建议这么做,在Xcode8出来后,希望大家都快速上手,全员更新。这就跟Xcode5到Xcode6一样,有变动,但是还是要尽早学习,尽快适应哟!

三、代码及API注意

使用Xcode8之后,有些代码可能就编译不过去了,具体我就说说我碰到的问题。
1.UIWebView的代理方法:
**注意要删除NSError前面的 nullable,否则报错。

- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error
{[self hideHud];
}

四、代码注释不能用的解决办法

这个是因为苹果解决xcode ghost,把插件屏蔽了。
解决方法
打开终端,命令运行:  sudo /usr/libexec/xpccachectl
然后必须重启电脑后生效

注意:Xcode8内置了开启注释的功能,位置在这里

快捷键的设置在这里

貌似Xcode8取消了三方插件的功能,具体可以查阅下Xcode8 Source Editor

五、权限以及相关设置

注意,添加的时候,末尾不要有空格
我们需要打开info.plist文件添加相应权限的说明,否则程序在iOS10上会出现崩溃。
具体如下图:

麦克风权限: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 我们需要通过您的地理位置信息获取您周边的相关数据
定位的需要这么写,防止上架被拒。

六、字体变大,原有frame需要适配

经有的朋友提醒,发现程序内原来2个字的宽度是24,现在2个字需要27的宽度来显示了。。
希望有解决办法的朋友,评论告我一下耶,谢谢啦

七、推送

如下图的部分,不要忘记打开。所有的推送平台,不管是极光还是什么的,要想收到推送,这个是必须打开的哟??

之后就应该可以收到推送了。另外,极光推送也推出新版本了,大家也可以更新下。

PS.苹果这次对推送做了很大的变化,希望大家多查阅查阅,处理推送的代理方法也变化了。

iOS10收到通知不再是在
[application: didReceiveRemoteNotification:]方法去处理, iOS10推出新的代理方法,接收和处理各类通知(本地或者远程)

- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler { //应用在前台收到通知 NSLog(@"========%@", notification);}- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler { //点击通知进入应用 NSLog(@"response:%@", response);}

稍后我会更新文章,对推送做一个详细的讲解。

8.屏蔽杂乱无章的bug

更新Xcode8之后,新建立工程,都会打印一堆莫名其妙看不懂的Log.
如这些

subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1,

屏蔽的方法如下:
Xcode8里边 Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加
OS_ACTIVITY_MODE = Disable

如果写了之后还是打印log,请重新勾选对勾,就可以解决了。

Ps.考虑到添加上述内容在Xcode8后,真机调试可能出现异常,大家可以自定义一个宏定义,来做日志输出。

#ifdef DEBUG#define DDLOG(...) printf(" %s\n",[[NSString stringWithFormat:__VA_ARGS__]UTF8String]);
#define DDLOG_CURRENT_METHOD NSLog(@"%@-%@", NSStringFromClass([self class]), NSStringFromSelector(_cmd))#else#define DDLOG(...) ;
#define DDLOG_CURRENT_METHOD ;#endif

大家有任何问题,可以评论给我~
如果写的不错,希望大家可以关注我。感谢。

iOS开发--适配iOS 10以及Xcode 8相关推荐

  1. IOS开发系列--IOS程序开发概览

    IOS开发系列--IOS程序开发概览 2014-08-04 19:42 by KenshinCui, 9983 阅读, 51 评论, 收藏, 编辑 概览 终于到了真正接触IOS应用程序的时刻了,之前我 ...

  2. iOS开发系列--IOS程序开发概览ios基础

    iOS开发系列--IOS程序开发概览 概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的I ...

  3. 玩转iOS开发:iOS 11 新特性《UIKit新特性的基本认识》

    文章分享至我的个人技术博客: https://cainluo.github.io/15099354591154.html 前两篇, 我们讲了Xcode 9的一些新特性, 可以更加方便我们去写" ...

  4. iOS开发 适配iOS10

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

  5. 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

    一. iOS 项目简介 1. iOS 文件简介 创建一个 HelloWorld 项目, 在这个 IOS 项目中有四个目录 : 如下图; -- HelloWorldTests 目录 : 单元测试相关的类 ...

  6. html5开发之ios屏幕适配,iOS开发屏幕尺寸以及屏幕适配等问题(转载内容)

    原帖地址:http://blog.csdn.net/phunxm/article/details/42174937/ 仅供我个人收藏学习,原博主如不同意请联系qq651263878进行删除,在此表示感 ...

  7. iOS开发适配iPhone X 齐刘海处理,代码适配iPhoneX

    我的简书新地址,欢迎点击查看哦~ 今天手头工作完事了,然后升级了Xcode9,变化很大啊,先说大家一直关心的适配齐刘海吧. 这个东西好像出来之后 我QQ群里面iOS开发的很多人都炸了.确实这个齐刘海对 ...

  8. iOS开发零基础教程之Xcode Could ont lauch XXX process launch failed:security

    请尊重作者劳动成果,转载请注明出处,谢谢. 转自 http://blog.csdn.net/crazyzhang1990/article/details/48544543 Xcode7/iOS9,真机 ...

  9. 从今天开始学习iOS开发(iOS 7版)-- 概论 (一)

    <Start Developing iOS Apps Today>为iOS开发提供了完美的起点.你可以在Mac上创建运行在iPad,iPhone和iPod touch上的iOS app.查 ...

最新文章

  1. 都是套路!要毁灭人类、喷马斯克、还获得公民身份的机器人Sophia,真相确是...
  2. ie下面出现Notice: Undefined index: HTTP_REFERER 的解决办法
  3. 从Grid R-CNN到Grid R-CNN Plus:基于网格的目标检测演化
  4. 一次MYSQL 服务器性能优化之旅
  5. 安川西格玛7驱动器手册_什么是伺服驱动器?选型的原则有哪些?
  6. 华为2018年收入超阿里腾讯总和,任正非:华为最大问题是赚钱太多
  7. IDC:“互联网+流通”将进一步释放活力
  8. 2013年系统集成资质考试时间
  9. 怎么通过当地时区计算格林尼治_时间规划局:时间能看到,标注在你的手臂上,那时的你会怎么样...
  10. php匹配ubb,php创建属于自己的UBB代码
  11. 计算机如何连接网络共享文件,电脑之间如何共享文件?
  12. 拉普拉斯变换和Z变换表
  13. 1436:数列分段II
  14. 魔兽版无间道,5区一骗情骗装备的垃圾战士(zz)
  15. android7.0官方高清壁纸,抢鲜体验!安卓7.0自带原生壁纸打包下载
  16. 凌晨 计算机博士,凌晨三点,被我的博士老婆喊起来写程序……
  17. 格子玻尔兹曼方法书中,计算机代码(Fortran语言)FDM的输出结果是什么,为什么显示程序“[25024] Console1.exe”已退出,返回值为 0 (0x0)。
  18. 电子商务网站放大效果的三种常用的实现方式。
  19. 机器学习-支持向量机(python3代码实现)
  20. WIN7下资源管理器默认打开我的电脑

热门文章

  1. uniapp H5写入百度统计
  2. instagram搜索_如何使用jQuery和PHP构建自己的Instagram搜索引擎
  3. Oracle中tablesinfo_Oracle X$Tables | 學步園
  4. 138种QQ空间透明flash
  5. Flash开启自动运行指引(转载自QQ空间)
  6. c语言学生管理系统中人数,python下学生管理系统:从文件中读取30位学生的信息(含邮箱),并实现简单的增、删、查找、统计(邮箱使用人数)。---附程序哦!...
  7. android alarmmanager定时任务,AlarmManager 定时任务详解
  8. 求解点关于直线的距离、垂足、对称点公式
  9. 机器学习笔记(十)——这样推导SMO算法才易理解
  10. 浅谈ARM Cortex-M系列架构——架构篇