iOS10+Xcode8(we have to know)

声明:以下内容均摘自网络


1.访问限制更严格
访问这些需要在plist文件中添加如下内容,否则会崩溃,string内容随意发挥

<!-- 相册 -->
    <key>NSPhotoLibraryUsageDescription</key>
    <string>App需要您的同意,才能访问相册</string>
    <!-- 相机 -->
    <key>NSCameraUsageDescription</key>
    <string>App需要您的同意,才能访问相机</string>
    <!-- 麦克风 -->
    <key>NSMicrophoneUsageDescription</key>
    <string>App需要您的同意,才能访问麦克风</string>
    <!-- 位置 -->
    <key>NSLocationUsageDescription</key>
    <string>App需要您的同意,才能访问位置</string>
    <!-- 在使用期间访问位置 -->
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>App需要您的同意,才能在使用期间访问位置</string>
    <!-- 始终访问位置 -->
    <key>NSLocationAlwaysUsageDescription</key>
    <string>App需要您的同意,才能始终访问位置</string>
    <!-- 日历 -->
    <key>NSCalendarsUsageDescription</key>
    <string>App需要您的同意,才能访问日历</string>
    <!-- 提醒事项 -->
    <key>NSRemindersUsageDescription</key>
    <string>App需要您的同意,才能访问提醒事项</string>
    <!-- 运动与健身 -->
    <key>NSMotionUsageDescription</key> <string>App需要您的同意,才能访问运动与健身</string>
    <!-- 健康更新 -->
    <key>NSHealthUpdateUsageDescription</key>
    <string>App需要您的同意,才能访问健康更新 </string>
    <!-- 健康分享 -->
    <key>NSHealthShareUsageDescription</key>
    <string>App需要您的同意,才能访问健康分享</string>
    <!-- 蓝牙 -->
    <key>NSBluetoothPeripheralUsageDescription</key>
    <string>App需要您的同意,才能访问蓝牙</string> 
    <!-- 媒体资料库 --> 
    <key>NSAppleMusicUsageDescription</key> 
    <string>App需要您的同意,才能访问媒体资料库</string>


2.Xcode8 最低支持ios8.0,想要支持7.x
在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform路径下加入7.x的sdk然后修改/Developer/SDKs/iPhoneOS.sdk下的SDKSettings.plist文件,在DefaultProperties->DEPLOYMENT_TARGET_SUGGESTED_VALUES节点里,添加7.0跟7.1的sdk选择配置


下载ios 7.x sdk


3.ATS的问题

  • 在iOS 9的时候,默认非HTTS的网络是被禁止的,我们可以在info.plist文件中添加NSAppTransportSecurity字典,将NSAllowsArbitraryLoads设置为YES来禁用ATS;

  • 从2017年1月1日起,,所有新提交的 app 默认不允许使用NSAllowsArbitraryLoads来绕过ATS的限制,默认情况下你的 app 可以访问加密足够强的(TLS V1.2以上)HTTPS内容;

  • 可以选择使用NSExceptionDomains设置白名单的方式对特定的域名开放HTTP内容来通过审核。


4.Xcode8开发iOS10推送通知过程
click me


5.更新Xcode8之后,新建立工程,都会打印一堆莫名其妙看不懂的Log.
如这些

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,

屏蔽的方法如下:
Xcode8里边 Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加

OS_ACTIVITY_MODE = Disable


6.Xcode8,command + / 注释整行代码不起作用了
可以终端运行sudo /usr/libexec/xpccachectl,并重启 Xcode


7.Xcode8,插件失效
click me


others

click me
其他人碰到的坑
iOS10新增Api的详细探究

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容