項目上線前一天趕上了iOS正式版發(fā)布循狰,于是就窟社。。绪钥。適配了下灿里,收集了廣大老司機們的技能經驗,現(xiàn)在記錄了下過程程腹,留作備用匣吊。
1. 首先為了tableView的
tableView的界面錯亂、組間距也都亂了,需要先關閉計算行高,在appdelegate.m中直接寫
if (@available(iOS 11.0, *)) {
UITableView.appearance.estimatedRowHeight = 0;
UITableView.appearance.estimatedSectionHeaderHeight = 0;
UITableView.appearance.estimatedSectionFooterHeight = 0;
}
2. iOS11 之后色鸳,跳轉App Store評論 這位大佬的經驗
在iOS11 之后社痛,會跳的Today 里面 說 無法連接到App Store(這是扯淡的)
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");
}
4.iPhoneX的適配
如果在iPhone X 上啟動是 這個鳥樣,
就需要一張 1125 *2436的圖片加入啟動頁LaunchImage吏砂。
如果放進去是這鳥樣撵儿,說明放錯地方了,就跟左邊框里一樣狐血,隨便扔了個地方淀歇,
這時候就需要 勾選右邊箭頭那個地方, 就會出來專門放iPhone X的位置氛雪,
放進去再重新啟動房匆,就會發(fā)現(xiàn)這個問題是解決了。报亩。浴鸿。接下來,問題又來了弦追。
很明顯岳链,圖標好多都變形了。劲件。
這是因為我用了寬高比來做適配掸哑,之前是寫死的 現(xiàn)在需要加上
#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做啟動,發(fā)現(xiàn)在在 4.7 或者5.5的設備上 牵辣,打印出來 屏幕的小小都是4 的尺寸摔癣,那就是LaunchImage 設置錯了。
如果無法確定哪個地方用哪張 纬向,保證Portrait 勾選的情況下择浊,一起拖進去,XCode 就會自己給生成逾条,重啟模擬器試試 就會發(fā)現(xiàn)好了琢岩。
5 屏幕尺寸更大了。
iPhone X在寬度上還是 375 攒磨,但是高度上增加了145pt泳桦,達到了 812汤徽,跟之前的寬高比都變了娩缰,這就很尷尬了,之前用寬高比是配的谒府,需要看上面第四條的拼坎,動態(tài)修改寬高比了。因為iPhone X的分辨率非常高完疫,所以一定要使用@3x的素材泰鸡,@2x的放上去明顯有點別扭,沒有3x的 高清壳鹤,不過一般不仔細找還是分不清楚的盛龄。之前使用Masonry,bottom 如果以self.view 為基準的話芳誓,這里就會很尷尬了余舶。就會出現(xiàn)這樣的情況:
這個地方具體怎么搞,就需要跟產品設計一起商量下了锹淌。
6匿值,相冊權限問題
在iOS11之前,訪問相冊和保存照片到相冊需要用戶授權赂摆,需要在info.plist添加NSPhotoLibraryUsageDescription這個就行啦 挟憔。
而iOS11之后默認開啟訪問相冊權限(NSPhotoLibraryUsageDescription還是要加的,適配iOS11之前)烟号, 添加圖片到相冊需要用戶授權绊谭,需要添加NSPhotoLibraryAddUsageDescription權限了。
7 上傳到App Store
上傳到App Store 還需要一個iPhone X的icon汪拥,1024的高清的达传。
這些就是我APP上遇到的問題,其他的暫時還沒有喷楣,之后遇到了再補充趟大。