适配iOS 10以及Xcode 8
2016-09-19 17:50
302 查看
直接看原文链接:http://www.jianshu.com/p/9b3e5111924f
https://code.tutsplus.com/zh-hans/articles/whats-new-in-xcode-8--cms-26799【xcode里的新东西】
参考链接2:http://www.cocoachina.com/ios/20161014/17574.html 【
在每一次升级 后,难免会有一些莫名的 Bug 产生,在此记录着,以便快速解决。
1、快捷键不灵
2、模拟器的选项不见了
3、打印时出现一大堆信息
4、插件失效
5、在查看全屏图片时,隐藏状态栏的功能坏掉了。(iOS 10)
6、推送不好使
7、私有权限设置
8、UILabel 长度问题
1、快捷键不灵
像我最常用的 注释 "Command" + "/" 居然不管用啦
It means you could just use the shortcut (⌥ Option + ⌘ Command + /) to add a documentation comment to your code if you are using Xcode 8 or above!
启动终端输入下面这句话,然后重启电脑就好啦
但还好,大部分的快捷都还是OK的。
2、模拟器的选项不见了
模拟器的选项不见了
很奇怪的感觉,公司的电脑更新没有出现这个问题,回来后个人电脑出现啦。
一个最直接的方法,手动添加。直接到 Windows --> Devices, 看到左下角添加模拟器。
增加需要的模拟器
上述这个方法是应急用的。
3、打印时出现一大堆信息
一堆很奇怪的信息,暂时也不知什么情况。
关闭无用的信息
在 Edit Scheme 中 ,如上图设置
4、插件失效
这个是由于苹果已经重置插件这块,但有部分优秀的插件已经内置在Xcode了,整体来说,对我影响并不是那么大。
网上提供的 Xcode 8 plugins 方案:
https://github.com/inket/update_xcode_plugins
https://github.com/fpg1503/MakeXcodeGr8Again
自己还没有尝试过, 因为据说不是持久的解决方案,有需要和兴趣再尝试吧!
内置插件使用
例如 注释键这个插件,直接通过内置的使用就 OK 了
VVDocument
然后将该操作设置成自己熟悉的快捷键,然后这个以往的插件就成为了我们常规的快捷键啦
设置成自己熟悉的快捷键
5、隐藏状态栏的功能坏掉了
升级到 iOS 10.0后,在查看全屏图片的时候,需要在 Present 之前给要 present 的 view controller 设置 modalPresentationCapturesStatusBarAppearance = true。然后就好啦
6、推送不好使
通知开关
Xcode 8 后,推送可能出现莫名的bug , 但其中有一点可以看看这个开关是否打开,一定要记得打开!
另外通知从手机上看确实在 iOS 10 改变了好多,更好用啦;而我还是先收集下相关资源:
活久见的重构 - iOS 10 UserNotifications 框架解析
WWDC2016 Session笔记 - iOS 10 推送Notification新特性
7、私有权限设置
由于iOS10对
NSBluetoothPeripheralUsageDescription //访问蓝牙
NSCalendarsUsageDescription //访问日历
NSCameraUsageDescription //相机
NSContactsUsageDescription //通讯录
NSHealthShareUsageDescription // 访问健康分享
NSHealthUpdateUsageDescription // 访问健康更新
NSHomeKitUsageDescription //HomeKit
NSLocationAlwaysUsageDescription // 始终访问位置
NSLocationWhenInUseUsageDescription //在使用期间访问位置
NSMicrophoneUsageDescription // 麦克风
NSMotionUsageDescription // 访问运动与健身
NSPhotoLibraryUsageDescription // 相册
NSRemindersUsageDescription // 访问提醒事项
NSSiriUsageDescription // Siri
NSSpeechRecognitionUsageDescription //语音识别
NSVideoSubscriberAccountUsageDescription // 视频这块的认证
NSVoIPUsageDescription // VoIP通话
例如我们常用的相机和相册:
填的string会在弹出用户允许时展示在描述里,如果描述空着提交AppStore时会被拒绝。
8、UILabel 长度问题
在动态计算一段文字的高度时,计算出来的高度在iOS10设备上不足以容纳这段文字,所以导致 UILabel 上显示不全的的问题
由于iOS10更换了系统字体,所以会导致文字的大小跟iOS9及之前的系统有点区别,如果继续用Xcode 7 编译,建议长度基础上加上 4-5的距离,当然直接用 Xcode 8 编译后适配更好!
另外英文是木有问题,此处只针对于 中文 才会有显示不全的情况。
陆续添加中...
PS:方便的东东
1、Provisioning Profile 文件选取,已经从Buiid Settings移动到了General中,这样更方便我们选取啦
General 中Provisioning Profile
2、 日志处增加了 过滤搜索条件,这样让我们也可以像安卓同学那样快速选取。另外删除操作后暂时是没有真正的删除日志的,还可以通过点击
文/天空中的球(简书作者)
原文链接:http://www.jianshu.com/p/9b3e5111924f
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
https://code.tutsplus.com/zh-hans/articles/whats-new-in-xcode-8--cms-26799【xcode里的新东西】
参考链接2:http://www.cocoachina.com/ios/20161014/17574.html 【
iOS开发--适配iOS 10以及Xcode 8
】在每一次升级 后,难免会有一些莫名的 Bug 产生,在此记录着,以便快速解决。
1、快捷键不灵
2、模拟器的选项不见了
3、打印时出现一大堆信息
4、插件失效
5、在查看全屏图片时,隐藏状态栏的功能坏掉了。(iOS 10)
6、推送不好使
7、私有权限设置
8、UILabel 长度问题
1、快捷键不灵
像我最常用的 注释 "Command" + "/" 居然不管用啦
It means you could just use the shortcut (⌥ Option + ⌘ Command + /) to add a documentation comment to your code if you are using Xcode 8 or above!
启动终端输入下面这句话,然后重启电脑就好啦
~ sudo /usr/libexec/xpccachectl
但还好,大部分的快捷都还是OK的。
2、模拟器的选项不见了
模拟器的选项不见了
很奇怪的感觉,公司的电脑更新没有出现这个问题,回来后个人电脑出现啦。
一个最直接的方法,手动添加。直接到 Windows --> Devices, 看到左下角添加模拟器。
增加需要的模拟器
上述这个方法是应急用的。
3、打印时出现一大堆信息
一堆很奇怪的信息,暂时也不知什么情况。
2016-09-14 23:37:22.522261 TestXcode8[6606:870004] 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, privacy_setting: 2, enable_private_data: 0 2016-09-14 23:37:22.525813 TestXcode8[6606:870004] subsystem: com.apple.UIKit, category: HIDEventIncoming, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0 2016-09-14 23:37:22.538153 TestXcode8[6606:869999] subsystem: com.apple.BaseBoard, category: MachPort, 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 2016-09-14 23:37:22.559243 TestXcode8[6606:869878] subsystem: com.apple.UIKit, category: StatusBar, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
关闭无用的信息
在 Edit Scheme 中 ,如上图设置
OS_ACTIVITY_MODE:
disable, 然后就 OK 啦。参考stackoverflow hide-xcode-8-logs
4、插件失效
Xcode 8 uses library validation. It won't load in-process plugins anymore.
这个是由于苹果已经重置插件这块,但有部分优秀的插件已经内置在Xcode了,整体来说,对我影响并不是那么大。
网上提供的 Xcode 8 plugins 方案:
https://github.com/inket/update_xcode_plugins
https://github.com/fpg1503/MakeXcodeGr8Again
自己还没有尝试过, 因为据说不是持久的解决方案,有需要和兴趣再尝试吧!
内置插件使用
例如 注释键这个插件,直接通过内置的使用就 OK 了
VVDocument
然后将该操作设置成自己熟悉的快捷键,然后这个以往的插件就成为了我们常规的快捷键啦
设置成自己熟悉的快捷键
5、隐藏状态栏的功能坏掉了
升级到 iOS 10.0后,在查看全屏图片的时候,需要在 Present 之前给要 present 的 view controller 设置 modalPresentationCapturesStatusBarAppearance = true。然后就好啦
TestViewController *testVC = [[TestViewController alloc] init]; testVC.modalPresentationCapturesStatusBarAppearance = true; [self presentViewController:testVC animated:YES completion:nil];
6、推送不好使
通知开关
Xcode 8 后,推送可能出现莫名的bug , 但其中有一点可以看看这个开关是否打开,一定要记得打开!
另外通知从手机上看确实在 iOS 10 改变了好多,更好用啦;而我还是先收集下相关资源:
活久见的重构 - iOS 10 UserNotifications 框架解析
WWDC2016 Session笔记 - iOS 10 推送Notification新特性
7、私有权限设置
由于iOS10对
Security and Privacy Enhancements安全和保密性增强,在申请很多私有权限时,都需要添加描述,不添加会crash。 所以我们需要在info plist 中添加描述信息。
NSBluetoothPeripheralUsageDescription //访问蓝牙
NSCalendarsUsageDescription //访问日历
NSCameraUsageDescription //相机
NSContactsUsageDescription //通讯录
NSHealthShareUsageDescription // 访问健康分享
NSHealthUpdateUsageDescription // 访问健康更新
NSHomeKitUsageDescription //HomeKit
NSLocationAlwaysUsageDescription // 始终访问位置
NSLocationWhenInUseUsageDescription //在使用期间访问位置
NSMicrophoneUsageDescription // 麦克风
NSMotionUsageDescription // 访问运动与健身
NSPhotoLibraryUsageDescription // 相册
NSRemindersUsageDescription // 访问提醒事项
NSSiriUsageDescription // Siri
NSSpeechRecognitionUsageDescription //语音识别
NSVideoSubscriberAccountUsageDescription // 视频这块的认证
NSVoIPUsageDescription // VoIP通话
例如我们常用的相机和相册:
<key>NSCameraUsageDescription</key> <string>允许使用相机</string> // <string> Allows the use of the camera</string>
<key>NSPhotoLibraryUsageDescription</key> <string>允许访问相册</string> // <string>Allow access to the photo album</string>
填的string会在弹出用户允许时展示在描述里,如果描述空着提交AppStore时会被拒绝。
8、UILabel 长度问题
在动态计算一段文字的高度时,计算出来的高度在iOS10设备上不足以容纳这段文字,所以导致 UILabel 上显示不全的的问题
由于iOS10更换了系统字体,所以会导致文字的大小跟iOS9及之前的系统有点区别,如果继续用Xcode 7 编译,建议长度基础上加上 4-5的距离,当然直接用 Xcode 8 编译后适配更好!
另外英文是木有问题,此处只针对于 中文 才会有显示不全的情况。
陆续添加中...
PS:方便的东东
1、Provisioning Profile 文件选取,已经从Buiid Settings移动到了General中,这样更方便我们选取啦
General 中Provisioning Profile
2、 日志处增加了 过滤搜索条件,这样让我们也可以像安卓同学那样快速选取。另外删除操作后暂时是没有真正的删除日志的,还可以通过点击
filterand
空白日志页重新显示出来。
文/天空中的球(简书作者)
原文链接:http://www.jianshu.com/p/9b3e5111924f
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
相关文章推荐
- iOS开发--适配iOS 10以及Xcode 8
- iOS开发--适配iOS 10以及Xcode 8
- iOS开发--适配iOS 10以及Xcode 8
- iOS开发--适配iOS 10以及Xcode 8
- 适配iOS 10以及Xcode 8(转载)
- iOS 10 新特性以及xcode8
- 兼容iOS 10 ,升级xcode8出的一堆问题的解决方案,以及一些适配.
- iOS 10适配以及Xcode8兼容问题总结
- Xcode 9下适配iPhoneX导致iOS 10不兼容问题的解决方法
- iOS开发 适配iOS10以及Xcode8
- iOS 10 新特性以及xcode8
- IOS-适配iOS10以及Xcode8
- iOS开发 适配iOS10以及Xcode8
- iOS开发 适配iOS10以及Xcode8
- iOS开发之Xcode8兼容适配iOS 10资料整理笔记
- iOS开发 适配iOS10以及Xcode8
- iOS开发 适配iOS10以及Xcode8
- 兼容iOS 10 ,升级xcode8出的一堆问题的解决方案,以及一些适配.
- iOS开发 适配iOS10以及Xcode8
- 兼容iOS 10 ,升级xcode8出的一堆问题的解决方案,以及一些适配.