場景:
1、Xcode 9.2調(diào)試真機,打包測試,或者打包上線
2、當(dāng)前調(diào)試的是iOS 8.2<真機,5S> ,iOS 8.1<模擬器>的相關(guān)機型。
3、使用imageView.image = [UIImage imageNamed:@“XXXX”];加載本地圖片,并且圖片存放在了 Assets.xcassets 中,會出現(xiàn)圖片扭曲的情況。
4、iOS8.0沒有嘗試,但是應(yīng)該也是有問題的,iOS 8.3 和iOS 8.4的設(shè)備不會出現(xiàn)圖片扭曲的情況。
源碼:
- (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];
}
來張圖感受一下

正常的應(yīng)該是這樣的:

剛開始以為只有模擬器才會這樣,但是最終試驗發(fā)現(xiàn)。
Xcode 9.2 直接調(diào)試iOS 8.2,iOS 8.1, iOS 8.0的模擬器或者真機,Xcode9.2 打包調(diào)試,甚至是通過AppStore審核的版本,在iOS 8.2,iOS 8.1, iOS 8.0這些設(shè)備上也會中招
下面欣賞隨便找的幾個app的中招現(xiàn)象:
原因:
1、最近上線,使用最新Xcode 9.2打包上線
2、使用imageView.image = [UIImage imageNamed:@“XXXX”];加載本地圖片,并且圖片存放在了 Assets.xcassets 中,會出現(xiàn)當(dāng)前的情況
3、當(dāng)前測試的版本系統(tǒng)為 iOS 8.2,8.1,8.0
應(yīng)該是最新Xcode 9.2的bug,蘋果的鍋。
解決辦法:
1、讓相關(guān)用戶升級到最新的iOS系統(tǒng)
2、將本地相關(guān)的圖片,不要放到Assets.xcassets中
3、最好的解決方案,個人認為還是不要使用Xcode 9.2 打包上線,使用Xcode9.1