坑1: 系统导航栏上按键消失问题
坑2: canOpenURL 调用返回NO问题
坑3: iOS10 权限崩溃问题
坑4: xib不好用了?别怕看这里!
坑5: command +/注释失效
坑6: 打印了一大堆0 1 的东西
坑1: 系统导航栏上按键消失问题

问题:升级iOS10,使用系统导航栏,发现导航栏上按钮全部消失了,无法返回上一级菜单。

原因:iOS10会重新调用原生的导航,覆盖现有的。

解决方案:在基类(BaseViewController)里面添加如下代码

- (void)viewWillDisappear:(BOOL)animated {

    if (IsDeviceVersionIOS10) {
//相当于刷新NavigationBar
[self.navigationController setNavigationBarHidden:YES
animated:NO];
[self.navigationController setNavigationBarHidden:NO
animated:NO];
} }
坑2: canOpenURL 调用返回NO问题

由于iOS加入对用户隐私以及禁止扫描系统信息的控制,目前通过canOpenURL的方法来判断用户是否安装特定app,则会出现-canOpenURL: failed for URL: "ABC://app/*******/" - error: "This app is not allowed to query for scheme ABC"的错误,

修改起来很简单,只需要在plist中加入ABC的白名单即可,如:

<key>LSApplicationQueriesSchemes</key>

<array>

<string>ABC</string>

</array>

注意:1.这里需要添加白名单的是APP B(检测端),而不是被检测的 APP A
2.最多添加50个
坑3: iOS10 权限崩溃问题

This app has crashed because it attempted to access
privacy-sensitive data without a usage description. The
app's Info.plist must contain an NSContactsUsageDescription key with
a string value explaining to the user how the app uses this data. 意思是说:你需要在info.plist文件 添加一个" NSContactsUsageDescription "
的Key,Value添加一个描述。 相机权限描述: <key>NSCameraUsageDescription</key>
<string>cameraDesciption</string> 通信录:
<key>NSContactsUsageDescription</key>
<string>contactsDesciption</string> 麦克风:
<key>NSMicrophoneUsageDescription</key>
<string>microphoneDesciption</string> 相机:
<key>NSPhotoLibraryUsageDescription</key>
<string>photoLibraryDesciption</string> 备注:Key 一定不能错,Value 貌似可以随便填写

20160614172110952.jpg
坑4: xib不好用了?别怕看这里!
升级到Xcode7之后,发现Xib点击会弹出一个提示,不然无法修改里面内容,那么就选择Choose Device。重新update frame,就可以修改了,修改之后记得选择回去,不然打包会报错,如下图

图1 点击xib出现

屏幕快照 2016-09-20 上午11.56.23.png

图2 修改后打包报错

屏幕快照 2016-09-20 上午11.57.10.png

图3 解决报错问题,修改会Xcode7之前

屏幕快照 2016-09-20 下午12.19.35.png
坑5: command +/注释失效

很简单 ,跟大象放冰箱一样,分3步~

1.打开终端

2.输入sudo /usr/libexec/xpccachectl 

3.重启电脑
  坑6: 打印了一大堆0 1 的东西

  2016-09-21 17:46:03.253708 HadesSDK[5866:213539] subsystem:
com.apple.BackBoardServices.fence, category: App, enable_level: 1,
persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0,
generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0,
enable_private_data: 0 Produce -Scheme-Edit Scheme Environment Variables 里输入Key -Value OS_ACTIVITY_MODE : disable

784630-221d947d657ff45f.png
文/L柠_檬(简书作者)
原文链接:http://www.jianshu.com/p/789e4d39e7b8
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

iOS10你掉坑了吗?的更多相关文章

  1. AlvinZH掉坑系列讲解(背包DP大作战H~M)

    本文由AlvinZH所写,欢迎学习引用,如有错误或更优化方法,欢迎讨论,联系方式QQ:1329284394. 前言 动态规划(Dynamic Programming),是一个神奇的东西.DP只能意会, ...

  2. Docker 从入门到掉坑

    Docker 介绍 简单的对docker进行介绍,可以把它理解为一个应用程序执行的容器.但是docker本身和虚拟机还是有较为明显的出入的.我大致归纳了一下,可以总结为以下几点: docker自身也有 ...

  3. Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务

    本篇为Docker从入门到掉坑第二篇:基于Docker构建SpringBoot微服务,没有看过上一篇的最好读过 Docker 从入门到掉坑 之后,阅读本篇. 在之前的文章里面介绍了如何基于docker ...

  4. Docker从入门到掉坑(三):容器太多,操作好麻烦

    前边的两篇文章里面,我们讲解了基于docker来部署基础的SpringBoot容器,如果阅读本文之前没有相关基础的话,可以回看之前的教程. Docker 从入门到掉坑 Docker从入门到掉坑(二): ...

  5. Docker从入门到掉坑(四):上手k8s避坑指南

    在之前的几篇文章中,主要还是讲解了关于简单的docker容器该如何进行管理和操作,在接下来的这篇文章开始,我们将开始进入对于k8s模块的学习 不熟悉的可以先回顾之前的章节,Docker教程系列文章将归 ...

  6. ios10 safari 的坑!

    | 导语 ios10 的safari,又给前端开发者挖坑了..测试验证此问题只出现在ios10 safari中.想早点知道结论的,可以直接看最后一个结论~因为,解决过程不重要! 个人原创,未经允许,禁 ...

  7. Kotlin从入门到掉坑里

    为什么要用Kotlin,和Java完全兼容,相互之间引用完全不是问题,所有没有什么负担. 使用Kotlin已经近一个月,基本上看完了语法就上正式项目了,期间几次准备放弃,最终坚持下来了.关于Kotli ...

  8. Vue掉坑记

    本文章汇总学习过程中掉入和不理解的坑,会持续更新,请保持关注 1.过滤器类 搜索过滤 2.修饰符 修饰符汇总 3.webpack webpack+vuecli打包路径 4.Vue后台管理框架 组件后台 ...

  9. 关于QT的QCombox的掉坑出坑

    最近项目中开发在用到QCombox,然而在开发中,踩到了一个坑,花了一个晚上,一直在想,好在最后找到问题所在了. 这是业务的流程.直接说重点:QCombox在下拉窗更新数据的时候,会默认把下拉窗的第一 ...

随机推荐

  1. TypeScript &amp; JavaScript

    http://www.typescriptlang.org/docs/tutorial.html handbook: Basic Types Variable Declarations Interfa ...

  2. SSAO相关资料

    http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/a-simple-and-pract ...

  3. 使用Genymotion来运行Android Studio开发的程序

    访问网址:https://www.genymotion.com,注册账户,之后下载,下载时需要注意不要选择(withou virtualbox那个) 之后运行安装, 运行Genymotion运行启动G ...

  4. Asp.net 后台调用js方法(转)

    1. 用Response.Write方法 代码如下: Response.Write("<script type='text/javascript'>alert("XXX ...

  5. Ffmpeg和SDL如何同步音频

    ong> 同步音頻 现在我们已经有了一个比较像样的播放器.所以让我们看一下还有哪些零碎的东西没处理.上次,我们掩饰了一点同步问题,也就是同步音频到视频而不是其它的同步方式.我们将采用和视频一样的 ...

  6. [译]ASP.NET Core 2.0 全局配置项

    问题 如何在 ASP.NET Core 2.0 应用程序中读取全局配置项? 答案 首先新建一个空项目,并添加两个配置文件: 1. appsettings.json { "Section1&q ...

  7. hibernate的cascade

    如果项目是针对一对多的,应该在"one"方设置cascade为delete,不能在"many"方设置cascade为delete .

  8. Python面向对象编程(下)

    本文主要通过几个实例介绍Python面向对象编程中的封装.继承.多态三大特性. 封装性 我们还是继续来看下上文中的例子,使用Student类创建一个对象,并修改对象的属性.代码如下: #-*- cod ...

  9. EF6 学习笔记(一):Code First 方式生成数据库及初始化数据库实际操作

    EF6 学习笔记总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本篇参考原文地址: Creating an Entity Framework Data Model 说明:学习 ...

  10. linux基本命令练习

    1. 熟悉linux命令并且练习用法以及应用场景. 初学者完成Linux系统分区及安装之后,需熟练掌握Linux系统管理必备命令,命令包括:cd.ls.pwd.clear. chmod.chown.c ...