場景:
1、Xcode 9.2除錯真機,打包測試,或者打包上線
2、當前除錯的是iOS 8.2<真機,5S> ,iOS 8.1<模擬器>的相關機型。
3、使用imageView.image = [UIImage imageNamed:@“XXXX”];
載入本地圖片,並且圖片存放在了 Assets.xcassets
中,會出現圖片扭曲的情況。
4、iOS8.0沒有嘗試,但是應該也是有問題的,iOS 8.3 和iOS 8.4的裝置不會出現圖片扭曲的情況。
原始碼:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 100, 300, 300)];
imageView.contentMode = UIViewContentModeScaleAspectFit;
imageView.image = [UIImage imageNamed:@"image"];
[self.view addSubview:imageView];
}
複製程式碼
來張圖感受一下
正常的應該是這樣的:
剛開始以為只有模擬器才會這樣,但是最終試驗發現。 Xcode 9.2 直接除錯iOS 8.2,iOS 8.1, iOS 8.0的模擬器或者真機,Xcode9.2 打包除錯,甚至是通過AppStore稽核的版本,在iOS 8.2,iOS 8.1, iOS 8.0這些裝置上也會中招
下面欣賞隨便找的幾個app的中招現象:
原因:
1、最近上線,使用最新Xcode 9.2打包上線
2、使用imageView.image = [UIImage imageNamed:@“XXXX”];
載入本地圖片,並且圖片存放在了 Assets.xcassets
中,會出現當前的情況
3、當前測試的版本系統為 iOS 8.2,8.1,8.0
應該是最新Xcode 9.2的bug,蘋果的鍋。
解決辦法:
1、將本地相關的圖片,不要放到Assets.xcassets
中
2、最好的解決方案,個人認為還是不要使用Xcode 9.2 打包上線,使用Xcode9.1