iOS开发之适配iOS10以及Xcode8
iOS开发:适配iOS10以及Xcode8 现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本,童鞋们有木有下载过来试试呢?就我的使用来说,总体觉得苹果还是坑不断,但是也在一直进步的啦。下面我就来说说,iOS10的适配以及Xcode8使用上的一些注意点。 一、证书管理 用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书。建议大家勾选这个Automatically manage signing(Ps.但是在beat2版本我用的时候,完全不可以,GM版本竟然神奇的又好了。) 下面我来说说可能会出现的问题: 1.Xcode未设置开发者账号情况下的截图 解决办法是:大家在Xcode的偏好设置中,添加苹果账号,即可。 2.设备机器未添加进开发者的Device情况下的截图 解决办法是:大家在官网将设备添加进开发机后,陪下描述文件重新下个描述文件即可。 3.正常情况:Xcode配置登录开发者账号后的图片,耐心等待即可。 等待完成之后的图 二、Xib文件的注意事项 使用Xcode8打开xib文件后,会出现下图的提示。 大家选择Choose Device即可。 注意:如果按上面的步骤操作后,在用Xcode7打开Xib会报一下错误, 解决办法:需要删除Xib里面 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 三、代码及Api注意 使用Xcode8之后,有些代码可能就编译不过去了,具体我就说说我碰到的问题。 1.UIWebView的代理方法: - (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error { [self hideHud]; } 四、代码注释不能用的解决办法 这个是因为苹果解决xcode ghost,把插件屏蔽了。 注意:Xcode8内置了开启注释的功能,位置在这里 快捷键的设置在这里 貌似Xcode8取消了三方插件的功能,具体可以查阅下Xcode8 Source Editor 五、权限以及相关设置 注意,添加的时候,末尾不要有空格 麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风? 语音转文字权限:Privacy - Speech Recognition Usage Description 是否允许此App使用语音识别? 定位权限:Privacy - Location When In Use Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据 六、字体变大,原有frame需要适配 经有的朋友提醒,发现程序内原来2个字的宽度是24,现在2个字需要27的宽度来显示了。。 七、推送 如下图的部分,不要忘记打开。所有的推送平台,不管是极光还是什么的,要想收到推送,这个是必须打开的哟✌️ 之后就应该可以收到推送了。另外,极光推送也推出新版本了,大家也可以更新下。 PS.苹果这次对推送做了很大的变化,希望大家多查阅查阅,处理推送的代理方法也变化了。 // 推送的代理 [<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);} 稍后我会更新文章,对推送做一个详细的讲解。 八.屏蔽杂乱无章的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, 如果写了之后还是打印log,请重新勾选对勾,就可以解决了 新浪微博:王彬SVIP 邮箱:wangbin47@huawei.com 苹果邮箱:wb514apple@icloud.com github:WBcodeing 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |