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

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

服务器之家 - 编程语言 - IOS - iOS10 适配以及Xcode8配置总结

iOS10 适配以及Xcode8配置总结

2021-02-02 16:07dujianchao IOS

这篇文章主要介绍了iOS10 适配以及Xcode8配置总结的相关资料,本文通过图文并茂的形式给大家介绍,非常不错具有参考借鉴价值,需要的朋友可以参考下

一、xcode8 插件你去哪了

以为是和之前一样 xcode 升级了,只需要更新 xcode info.plsit 中的 dvtplugincompatibilityuuid,结果发现一点用都木有泪奔;苹果解决xcode ghost,把插件屏蔽了,为此也给大伙找到了相关的解决方法,但是不怎么推荐这样做,因为烦的是不能够上传 itunes content https://github.com/inket/update_xcode_plugins

还有一种方案就是xcode自带的注释插件!

解决方法

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

然后必须重启电脑后生效

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

快捷键:option + common + /

iOS10 适配以及Xcode8配置总结

二、隐私权限以及相关设置

注意,info.plist 不加对应字段,访问相册,通讯录,同时添加的时候,结尾尾不要有空格

警告:

近期有小伙伴们用xcode 8打包上传app,本地验证和ipa上传都正常。但是itunes connect后台的构建版本一直出不来,手机app 端的 itunes connect收到push通知提示 "your app has changed to invalid binary" 同时苹果给你的账号发了邮件为 "this app attempts to access privacy-sensitive data without a usage description. the app's info.plist must contain an nscamerausagedescription key with a string value explaining to the user how the app uses this data."

ios 10已经要求我们添加权限申请的描述,如调取通讯录和相册的时候调试过程中就可以发现申请相应权限时程序会崩溃。加上权限描述,但如果描述字符串为空时,调试正常,但却会引发上面的包无效的问题。“所有还是需要一个具体的描述信息”。

温馨提示: 各位开发的小伙伴可以安装一个手机端的itunes connect,方便及时收到相关的审核进度,同时在邮箱中设置好开发的邮箱,及时收到苹果对于开发者发送的邮件
我们需要打开info.plist文件添加相应权限的说明,否则程序在ios10上会出现崩溃。你的项目中访问了隐私数据,比如:相机,相册,联系人等,在xcode8中打开编译的话,统统会crash,控制台会输出下面这样的日志:

具体如下图

log 打印错误提示

iOS10 适配以及Xcode8配置总结

权限配置 info.plist 文件

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

在xcode里选中当前的target,选择capabilities,找到background modes,打开它,在里面选择对应权限

iOS10 适配以及Xcode8配置总结

三、xib文件报警

xcode8 打开后提示如图

iOS10 适配以及Xcode8配置总结

选择 choose device即可 这时会出现frame乱了,只要更新一下 update frame

注意:如果按上面的步骤操作后,在用xcode7打开xib会报一下错误,修改方法:右键xib文件->open as source code,温馨提示:劝你的小伙伴更新xcode8 吧,或者安装两个xcode,

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

?
1
<capability name="documents saved in the xcode 8 format" mintoolsversion="8.0"/>

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

经发现程序内原来2个字的宽度是24,现在2个字需要27的宽度来显示了。。

五、ios 10 判断系统版本方式更新

判断系统版本是我们经常用到的,尤其是现在大家都有可能需要适配ios 10,那么问题就出现了,如下图:

我们得到了答案是:

?
1
2
3
4
5
6
//值为 1
[[[[uidevice currentdevice] systemversion] substringtoindex:1] integervalue]
//值为10.000000
[[uidevice currentdevice] systemversion].floatvalue,
//值为10.0
[[uidevice currentdevice] systemversion]

所以说判断系统方法最好还是用后面的两种方法,哦~我忘记说了[[uidevice currentdevice] systemversion].floatvalue这个方法也是不靠谱的,好像在8.3版本输出的值是8.2,记不清楚了反正是不靠谱的,所以建议大家用[[uidevice currentdevice] systemversion]这个方法!

swift判断如下:

?
1
2
3
4
if #available(ios 10.0, *) {
// ios 10.0
print("ios 10.0");
} else { }

六、xcode 8 编译产生logs

当你新建了个项目用xcode8直接编译发现打印了很多日志,解决办法是设置

os_activity_mode : disable

如下图:

iOS10 适配以及Xcode8配置总结

打印log.png

iOS10 适配以及Xcode8配置总结

注意:添加了还是会打印很多log ,请将蓝色的“勾选”再重新勾选一次

如果我们想知道程序启动的时间,则可以在工程的scheme中添加环境变量dyld_print_statistics。调试过程中可以在控制台打印出程序启动过程中各个阶段所消耗的时间。

iOS10 适配以及Xcode8配置总结

七、推送

此处ios10 更新的一大亮点就是推送,功能变得强大无比

iOS10 适配以及Xcode8配置总结

以上所述是小编给大家介绍的ios10 适配以及xcode8配置总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.cnblogs.com/niceMan/p/5910514.html

延伸 · 阅读

精彩推荐
  • IOSiOS中tableview 两级cell的展开与收回的示例代码

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

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

    J_Kang3862021-04-22
  • IOSiOS通过逆向理解Block的内存模型

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

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

    Swiftyper12832021-03-03
  • IOSIOS开发之字典转字符串的实例详解

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

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

    苦练内功5832021-04-01
  • IOS解析iOS开发中的FirstResponder第一响应对象

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

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

    一片枫叶4662020-12-25
  • IOSiOS 雷达效果实例详解

    iOS 雷达效果实例详解

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

    SimpleWorld11022021-01-28
  • IOSiOS布局渲染之UIView方法的调用时机详解

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

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

    windtersharp7642021-05-04
  • IOSIOS 屏幕适配方案实现缩放window的示例代码

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

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

    xiari5772021-06-01
  • IOS关于iOS自适应cell行高的那些事儿

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

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

    daisy6092021-05-17