项目上线前一天赶上了iOS正式版发布,于是就。。。适配了下,收集了广大老司机们的技能经验,现在记录了下过程,留作备用。
1. 首先为了tableView的
tableView的界面错乱、组间距也都乱了,需要先关闭计算行高
self.tableView.estimatedRowHeight = 0; self.tableView.estimatedSectionHeaderHeight = 0; self.tableView.estimatedSectionFooterHeight = 0;
2. iOS11 之后,跳转App Store评论 这位大佬的经验
在iOS11 之后,会跳的Today 里面 说 无法连接到App Store(这是扯淡的)
image
NSString *appstoreUrlString = [NSString stringWithFormat: @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@",AppStoreAppId ]; NSURL * url = [NSURL URLWithString:appstoreUrlString]; if ([[UIApplication sharedApplication] canOpenURL:url]){ [[UIApplication sharedApplication]openURL:url]; }else{ WKLog(@"can not open"); }
要改成:(就链接改了下。。。)
NSString *appstoreUrlString = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/cn/app/idXXXXXX?mt=8&action=write-review", AppStoreAppId ]; NSURL * url = [NSURL URLWithString:appstoreUrlString]; if ([[UIApplication sharedApplication] canOpenURL:url]){ [[UIApplication sharedApplication]openURL:url]; }else{ WKLog(@"can not open"); }
3.iPhoneX的适配
如果在iPhone X 上启动是 这个鸟样,
image
就需要一张 1125 *2436的图片加入启动页LaunchImage。
如果放进去是这鸟样,说明放错地方了,就跟左边框里一样,随便扔了个地方,
image
这时候就需要 勾选右边箭头那个地方, 就会出来专门放iPhone X的位置,
image
放进去再重新启动,就会发现这个问题是解决了。。。接下来,问题又来了。
image
很明显,图标好多都变形了。。
这是因为我用了宽高比来做适配,之前是写死的 现在需要加上
#define IS_IPHONE_X_HEIGHT ([[UIScreen mainScreen] bounds].size.height >= 812.0f ? 812.0f : 667.0f) #define ScaleWidth(width) width/ 375.0*KSCREEN_WIDTH #define ScaleHeigth(height) height/IS_IPHONE_X_HEIGHT*KSCREEN_HEIGHT #define WKSW(width) width/375.0*KSCREEN_WIDTH #define WKSH(height) height/IS_IPHONE_X_HEIGHT*KSCREEN_HEIGHT
先判断屏幕尺寸,在具体的来搞就行啦。
补充一个不算适配的问题,如果使用LaunchImage做启动,发现在在 4.7 或者5.5的设备上 ,打印出来 屏幕的小小都是4 的尺寸,那就是LaunchImage 设置错了。
如果无法确定哪个地方用哪张 ,保证Portrait 勾选的情况下,一起拖进去,XCode 就会自己给生成,重启模拟器试试 就会发现好了。
image