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

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

香港云服务器
服务器之家 - 编程语言 - IOS - iOS10适配问题收集整理

iOS10适配问题收集整理

2021-02-01 16:16梦晨ing IOS

本文是小编给大家收集整理些有关iOS10适配问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

1、tencentopenapi的坑

表现:启动就crash

原因:由于很久没有更新该sdk了,用的版本是2.3.1。后来想着去官网下个最新的吧,不过最新的是3.0的版本,替换原来的sdk后,有些接口和头文件定义的问题,直接编译不过。为了少踩点坑,还是选择了其他项目已经在用的2.8版本。该版本可以直接替换,在ios10上顺利解决。

2、私有权限申请的坑

表现:xcode8编译的版本,首次打开相机、相册、获取通讯录、录视频...统统crash

原因:由于ios10对security and privacy enhancements 安全和保密性增强,在申请很多私有权限时,都需要添加描述,不添加会crash。但使用之前的xcode编译的话,仍然会采用系统的权限通知框。

填这个坑,只需在info.list里配置上请求权限的描述信息就可以了。

我在info.list添加了程序中用到的权限,就解决了。

iOS10适配问题收集整理

示例图

这里列出相关的key, 可以要小心,绝对不能写错哦!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
nsbluetoothperipheralusagedescription
nscalendarsusagedescription
nscamerausagedescription
nscontactsusagedescription
nshealthshareusagedescription
nshealthupdateusagedescription
nshomekitusagedescription
nslocationalwaysusagedescription
nslocationwheninuseusagedescription
nsmicrophoneusagedescription
nsmotionusagedescription
nsphotolibraryusagedescription
nsremindersusagedescription
nssiriusagedescription
nsspeechrecognitionusagedescription
nsvideosubscriberaccountusagedescription
nsvoipusagedescription

3、statusbar不见了

表现:statusbar会消失掉或颜色没有改变

原因:找到原因是,程序经常会在全屏浏览的时候隐藏掉statusbar,相信很多应用都用到这个功能,当退出是使用以下方法还原:

[[uiapplication sharedapplication] setstatusbarstyle:_previousstatusbarstyle animated:animated];

不过该方法使用寿命就到ios9了,ios10彻底不能用了。要想以后ios10也能保持statusbar的正确显示,就按下图接口备注的来改吧。估计改动会比较多,那又有什么办法呢,苹果爸爸就给你指定好规则了,你就老实的跟着走吧。

iOS10适配问题收集整理

4、xcode8打包,ios7安装后调用[uiimage imagenamed:]奔溃

表现:堆栈信息如下:

iOS10适配问题收集整理

原因:使用xcassets管理图片,拿掉xcassets后正常。这个是针对ios7的,别的同事遇到,因为我暂时没有ios7的设备,没有验证,大家遇到了可以参考。

5、从app中直接跳转到特定的设置项失效或审核不过

表现:之前使用prefs:root=xxxx,"xxxx"可以是photos,wifi等这些具体的设置项,在升级到ios10后发现失效。

原因:其实这种设置方式并没有在任何苹果的官方文档里出现,只是之前很多人这么使用了,而且顺利提交appstore了。之前就有应用使用过多这种方式,被拒了,苹果给出的理由是使用了私有接口。在ios10时发现,我们之前也使用了这种方式跳转到相册权限设置,原本通过的功能失效了,可能在ios10中出于安全性的考虑,这些系统的scheme被修改或禁用了。

解决方法:ios8以后可以跳转到系统的“设置”页面。

?
1
[[uiapplication sharedapplication] openurl:[nsurl urlwithstring:uiapplicationopensettingsurlstring]];

不过ios10这个openurl的api也有所调整,应使用下面的方法

?
1
- (void)openurl:(nsurl*)url options:(nsdictionary<nsstring *, id> *)options completionhandler:(void (^ __nullable)(bool success))completion ns_available_ios(10_0) ns_extension_unavailable_ios("");

6、字体的变化,导致中文显示宽度变大,英文没有影响。

表现:固定宽度的按钮,变...了,显示不全。

原因:ios10的字体变化了

解决方法:一个个修改控件的吧,还没想到好方法。

以上所述是小编给大家介绍的ios10适配问题收集整理,字体适配和编译不过的问题及解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.jianshu.com/p/43579787db43

延伸 · 阅读

精彩推荐
  • IOSiOS实现控制屏幕常亮不变暗的方法示例

    iOS实现控制屏幕常亮不变暗的方法示例

    最近在工作中遇到了要将iOS屏幕保持常亮的需求,所以下面这篇文章主要给大家介绍了关于利用iOS如何实现控制屏幕常亮不变暗的方法,文中给出了详细的...

    随风13332021-04-02
  • IOSiOS开发技巧之状态栏字体颜色的设置方法

    iOS开发技巧之状态栏字体颜色的设置方法

    有时候我们需要根据不同的背景修改状态栏字体的颜色,下面这篇文章主要给大家介绍了关于iOS开发技巧之状态栏字体颜色的设置方法,文中通过示例代码...

    梦想家-mxj8922021-05-10
  • IOS详解iOS中多个网络请求的同步问题总结

    详解iOS中多个网络请求的同步问题总结

    这篇文章主要介绍了详解iOS中多个网络请求的同步问题总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    liang199111312021-03-15
  • IOSiOS中MD5加密算法的介绍和使用

    iOS中MD5加密算法的介绍和使用

    MD5加密是最常用的加密方法之一,是从一段字符串中通过相应特征生成一段32位的数字字母混合码。对输入信息生成唯一的128位散列值(32个字符)。这篇文...

    LYSNote5432021-02-04
  • IOSiOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)

    iOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和

    这篇文章主要介绍了iOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)的相关资料,需要的朋友可以参考下...

    CodingFire13652021-02-26
  • IOSiOS开发之视图切换

    iOS开发之视图切换

    在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单。在iOS开发中常用的视图切换有三种,今天我们将...

    执着丶执念5282021-01-16
  • IOSiOS自定义UICollectionViewFlowLayout实现图片浏览效果

    iOS自定义UICollectionViewFlowLayout实现图片浏览效果

    这篇文章主要介绍了iOS自定义UICollectionViewFlowLayout实现图片浏览效果的相关资料,需要的朋友可以参考下...

    jiangamh8882021-01-11
  • IOSiOS中UILabel实现长按复制功能实例代码

    iOS中UILabel实现长按复制功能实例代码

    在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能,下面这篇文章主要给大...

    devilx12792021-04-02
1270