服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - IOS - iOS开发之适配iOS10以及Xcode8

iOS开发之适配iOS10以及Xcode8

2021-02-01 16:07王彬博客 IOS

这篇文章主要为大家详细介绍了iOS开发之适配iOS10以及Xcode8的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

ios开发:适配ios10以及xcode8

现在在苹果的官网上,我们已经可以下载到xcode8的gm版本了,加上9.14日凌晨,苹果就要正式推出ios10系统的推送了,在此之际,ios10的适配已经迫在眉睫啦,不知道xcode8 beat版本,童鞋们有木有下载过来试试呢?就我的使用来说,总体觉得苹果还是坑不断,但是也在一直进步的啦。下面我就来说说,ios10的适配以及xcode8使用上的一些注意点。

一、证书管理

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

iOS开发之适配iOS10以及Xcode8

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

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

iOS开发之适配iOS10以及Xcode8

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

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

iOS开发之适配iOS10以及Xcode8

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

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

iOS开发之适配iOS10以及Xcode8

等待完成之后的图

iOS开发之适配iOS10以及Xcode8

二、xib文件的注意事项

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

iOS开发之适配iOS10以及Xcode8

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

iOS开发之适配iOS10以及Xcode8

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

iOS开发之适配iOS10以及Xcode8

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

<capability name="documents saved in the xcode 8 format" mintoolsversion="8.0"/>
这句话,以及把< document >中的toolsversion和< plugin >中的version改成你正常的xib文件中的值
,不过不建议这么做,在xcode8出来后,希望大家都快速上手,全员更新。这就跟xcode5到xcode6一样,有变动,但是还是要尽早学习,尽快适应哟!

三、代码及api注意

使用xcode8之后,有些代码可能就编译不过去了,具体我就说说我碰到的问题。

1.uiwebview的代理方法:
**注意要删除nserror前面的 nullable,否则报错。

?
1
2
3
4
- (void)webview:(uiwebview *)webview didfailloadwitherror:(nullable nserror *)error
{
 [self hidehud];
}

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

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

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

iOS开发之适配iOS10以及Xcode8

快捷键的设置在这里

iOS开发之适配iOS10以及Xcode8

貌似xcode8取消了三方插件的功能,具体可以查阅下xcode8 source editor

五、权限以及相关设置

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

iOS开发之适配iOS10以及Xcode8

麦克风权限: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的宽度来显示了。。
希望有解决办法的朋友,评论告我一下耶,谢谢啦

七、推送

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

iOS开发之适配iOS10以及Xcode8

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

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

?
1
2
3
4
5
6
// 推送的代理
[<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,
屏蔽的方法如下:
xcode8里边 edit scheme-> run -> arguments, 在environment variables里边添加
os_activity_mode = disable

iOS开发之适配iOS10以及Xcode8

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

新浪微博:王彬svip 邮箱:wangbin47@huawei.com 苹果邮箱:wb514apple@icloud.com github:wbcodeing

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

延伸 · 阅读

精彩推荐
  • IOSiOS通过逆向理解Block的内存模型

    iOS通过逆向理解Block的内存模型

    自从对 iOS 的逆向初窥门径后,我也经常通过它来分析一些比较大的应用,参考一下这些应用中某些功能的实现。这个探索的过程乐趣多多,不仅能满足自...

    Swiftyper12832021-03-03
  • IOS关于iOS自适应cell行高的那些事儿

    关于iOS自适应cell行高的那些事儿

    这篇文章主要给大家介绍了关于iOS自适应cell行高的那些事儿,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    daisy6092021-05-17
  • IOSiOS布局渲染之UIView方法的调用时机详解

    iOS布局渲染之UIView方法的调用时机详解

    在你刚开始开发 iOS 应用时,最难避免或者是调试的就是和布局相关的问题,下面这篇文章主要给大家介绍了关于iOS布局渲染之UIView方法调用时机的相关资料...

    windtersharp7642021-05-04
  • IOSiOS 雷达效果实例详解

    iOS 雷达效果实例详解

    这篇文章主要介绍了iOS 雷达效果实例详解的相关资料,需要的朋友可以参考下...

    SimpleWorld11022021-01-28
  • IOSiOS中tableview 两级cell的展开与收回的示例代码

    iOS中tableview 两级cell的展开与收回的示例代码

    本篇文章主要介绍了iOS中tableview 两级cell的展开与收回的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    J_Kang3862021-04-22
  • IOS解析iOS开发中的FirstResponder第一响应对象

    解析iOS开发中的FirstResponder第一响应对象

    这篇文章主要介绍了解析iOS开发中的FirstResponder第一响应对象,包括View的FirstResponder的释放问题,需要的朋友可以参考下...

    一片枫叶4662020-12-25
  • IOSIOS开发之字典转字符串的实例详解

    IOS开发之字典转字符串的实例详解

    这篇文章主要介绍了IOS开发之字典转字符串的实例详解的相关资料,希望通过本文能帮助到大家,让大家掌握这样的方法,需要的朋友可以参考下...

    苦练内功5832021-04-01
  • IOSIOS 屏幕适配方案实现缩放window的示例代码

    IOS 屏幕适配方案实现缩放window的示例代码

    这篇文章主要介绍了IOS 屏幕适配方案实现缩放window的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    xiari5772021-06-01