xcode8.0和iOS10的那些事

Xcode8.0与iOS10:

界面的更新,开头先庆幸一点,我们的项目基本上没有用到xib,不然也就只能呵呵了,当点击xib的时候会让你选择设备类型


这方面听说当设置以后回到Xcode7.0以下会报错

接下来探讨整体:

1.证书的自动配置,这个确实不错,会自动生成配置文件或者签名文件

    1>打包的时候要将自动生成的证书的"钩"去掉,手动添加证书

2.解决更新到Xcode8.0以后的问题

   1>log,不知道在控制器打印了一堆什么东东,反正乱七八糟不想看,听说是关于内存方面的打印日志,反正我就是想给他关掉,所以设置如下图


为了方便赋值: 

OS_ACTIVITY_MODE = Disable


2.注释插件不能使用的情况解决的办法:

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

重启电脑就可以使用了


3.权限的限制,在之前只有访问定位的时候会这只权限,现在不一样了,如果要访问相机,麦克风,通讯录等也要设置权限,如下


麦克风权限: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.推送

推送之前的注册和监听都是有application来负责.iOS10进行了重构,现在完全交给了单独的类去管理,在适配iOS10+的时候首先要导入

#import <UserNotifications/UserNotifications.h>

设置代理:UNUserNotificationCenterDelegate

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);}


6.ios10ats配置的文档说明请参照下面的文档:

https://onevcat.com/2016/06/ios-10-ats/


7.UIRefreshControl之前是UITableViewController的属性,现在是UIScrollView的一个属性,也就是说只要集成UIScrollView的子类都可以实现刷新功能


8.UICollectionViewCell的优化,多了一个预加载的代理,cell的生命周期方法加载时机的变化,cell是一个一个加载的,不同于iOS10之前是一行一行加载,在iOS10之前要想复用cell只能从缓存队列中取,然后再走一遍cell的生命周期的方法,iOS10以后cell当滑出界面以后会保存一段时间,然后调用WillDisplayCell方法就可以重新出现在屏幕上了


9.UITextField新增了textContentType的字段


10.UIStatusBar设置状态栏的方法的废弃 setStatusBarStyle: animated(是由application设置的),现在status的hidden和preferStyle只能由viewController进行设置,而且是该属性是只读的,只能通过调用方法设置


11.UIColor新增的两个api, sRGB


12.隐私数据访问的问题,如果不行就请求后台的权限


13.iOS10不能跳转到系统设置相关的界面,具体的解决办法后续补上


14.真色彩的显示: 根据光感应器来自动调节达到特定环境下显示与性能的平衡效果,在info中设置添加key"UIWhitePointApaptivityStytle"


15.系统版本判断的宏:

//判断版本号
#define IOS10_OR_LATER [[UIDevice currentDevice].systemVersion  floatValue] >= 10.0
#define IOS9_OR_LATER [[UIDevice currentDevice].systemVersion  floatValue] >= 9.0
#define IOS8_OR_LATER [[UIDevice currentDevice].systemVersion  floatValue] >= 8.0
#define IOS7_OR_LATER [[UIDevice currentDevice].systemVersion  floatValue] >= 7.0
#define IOS6_OR_LATER [[UIDevice currentDevice].systemVersion  floatValue] >= 6.0

跳转到设置界面:

#define SettingURL [NSURL URLWithString:UIApplicationOpenSettingsURLString]
//调到设置界面
#define GoToSetting if([[UIApplication sharedApplication] canOpenURL:SettingURL]) {\
                     [[UIApplication sharedApplication] openURL:SettingURL];\
                    }



UNUserNotificationCenterDelegate提供了两个方法,分别对应如何在应用内展示通知,和收到通知响应时要如何处理的工作。我们可以实现这个接口中的对应方法来在应用内展示通知

通知相关操作遵循的流程:

申请和注册----->创建和发起----->展示和处理





  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值