• iOS10 适配问题-Xcode8


    前段时间升级了Xcode8,整体来说对OC的影响不大,但是还是跳一个坑,消耗了不少时间。这里总结下遇到的适配问题。

    1、权限问题

      Xcode8 访问相机、相册等需要权限的地方崩溃

      解决办法:

      在使用私有权限时,添加Info.plist文件中添加配置:

    下面是各种key,需要哪个添哪个

      NSBluetoothPeripheralUsageDescription

      NSCalendarsUsageDescription

      NSCameraUsageDescription

      NSContactsUsageDescription

      NSHealthShareUsageDescription

      NSHealthUpdateUsageDescription

      NSHomeKitUsageDescription

      NSLocationAlwaysUsageDescription

      NSLocationWhenInUseUsageDescription

      NSMicrophoneUsageDescription

      NSMotionUsageDescription

      NSPhotoLibraryUsageDescription

      NSRemindersUsageDescription

      NSSiriUsageDescription

      NSSpeechRecognitionUsageDescription

      NSVideoSubscriberAccountUsageDescription

      NSVoIPUsageDescription

    2、回调跳转问题(openUrl) (PBItemCollectionServicer connection disconnected 友盟第三方登录时 授权后不回调的原因)

      iOS10 openUrl需要在下面方法中进行回调配置:

    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options NS_AVAILABLE_IOS(9_0); // no equiv. notification. return NO if the application can't open for some reason

    3、应用程序语言英文问题

      解决办法:

      去掉Use Base Internationalization的勾选

    4、关于推送问题(我用的是极光推送,iOS10相关配置官方文档说的很明白,自行修改)

      打开Push Notifications 开关

    5、快捷注释问题

      升级后,使用command+/ 快捷注释,我出现了下不能使用的问题,重启后就能好了(Xcode8.1)(使用中偶尔也会出现注释快捷键失效的情况,重启xcode或重启机器O__O")。

      还是敲下网上的解决办法:

      终端命令行输入:sudo /usr/libexec/xpccachectl

      之后必须重启电脑

    6、废弃的方法

      如果还需要兼容可以定义下版本的宏,然后根据版本来处理方法的使用,替换被废弃方法的方法一般会通过warning 给出,点进去苹果文档查看即可

      举个栗子:

    #define IOS_10 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0 ? YES : NO)
  • 相关阅读:
    软件需求阅读笔记二
    寒假小程序开发记录2
    软件需求阅读笔记一
    寒假小程序开发记录1
    软件工程概论课个人总结
    06大道至简阅读笔记
    golang算法——leetcode-46
    实验 5 Spark SQL 编程初级实践
    scala链接数据库Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    Error:(15, 103) value toDF is not a member of org.apache.spark.rdd.RDD[Employee] .map(attributes => Employee(attributes(0).trim.toInt, attributes(1), attributes(2).trim.toInt)).toDF()
  • 原文地址:https://www.cnblogs.com/zhangzhang-y/p/6023025.html
Copyright © 2020-2023  润新知