iOS11 以及iPhone X 适配记录

PS:记录自己工作学习中的一些知识;

一、项目运行后发现APP界面上下空出大约40pt;

iOS11 以及iPhone X 适配记录_第1张图片
界面上下空出.png
原因:
需要设置iPhoneX的启动图(1125x2436px),在LaunchImage;

iPhone X Portrait size(1125x2436px/375pt×812pt@3x) Landscape size(2436px1125px)

iOS11 以及iPhone X 适配记录_第2张图片
设置iPhone X启动图.png
修改后效果
添加iPhone X启动图后副本.png

二、iPhone X适配常用宏

非iPhone X :

StatusBar 高20px,NavigationBar 高44px,底部TabBar高49px

iPhone X:

StatusBar 高44px,NavigationBar 高44px,底部TabBar高83px

所以,之前项目里写死的 ±49 ±64 都要出问题,如果你之前抽离出来使用的是宏,那问题不大,如果不是,开始搬砖吧少年。

#define kStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height
#define kNavBarHeight 44.0
#define kTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49)
#define kTopHeight (kStatusBarHeight + kNavBarHeight)

三、iOS11下权限问题相册以及地理位置以及其它的


NSPhotoLibraryUsageDescription
App需要您的同意,才能访问相册

NSPhotoLibraryAddUsageDescription
App需要您的同意,才能访问相册

NSCameraUsageDescription
App需要您的同意,才能访问相机

NSMicrophoneUsageDescription
App需要您的同意,才能访问麦克风

NSLocationUsageDescription
App需要您的同意,才能访问位置

NSLocationWhenInUseUsageDescription
App需要您的同意,才能在使用期间访问位置

NSLocationAlwaysUsageDescription
App需要您的同意,才能始终访问位置

NSLocationAlwaysAndWhenInUseUsageDeion
App需要您的同意,才能始终访问位置

NSCalendarsUsageDescription
App需要您的同意,才能访问日历

NSRemindersUsageDescription
App需要您的同意,才能访问提醒事项

NSMotionUsageDescription App需要您的同意,才能访问运动与健身

NSHealthUpdateUsageDescription
App需要您的同意,才能访问健康更新 

NSHealthShareUsageDescription
App需要您的同意,才能访问健康分享

NSBluetoothPeripheralUsageDescription
App需要您的同意,才能访问蓝牙

NSAppleMusicUsageDescription
App需要您的同意,才能访问媒体资料库

四、

其它问题以及解决方法

1.导航栏TitileView的宽度设置

iOS11 以及iPhone X 适配记录_第3张图片
titleView宽度问题.png

顺便记录一下:
  • iPhone各机型开发尺寸


    iOS11 以及iPhone X 适配记录_第4张图片
    uisdc-iphonex-20170922-3.png

参考官方文档

你可能感兴趣的:(iOS11 以及iPhone X 适配记录)