I met the same problem, so I suggest it is correct dimensions:
func getSmallWidgetSize() -> CGSize {
let screenBounds = UIScreen.main.bounds
let height = screenBounds.height
switch height {
case 926:
return CGSize(width: 170, height: 170)
case 896:
return CGSize(width: 169, height: 169)
case 812:
return CGSize(width: 155, height: 155)
case 736:
return CGSize(width: 159, height: 159)
case 667:
return CGSize(width: 148, height: 148)
case 568:
return CGSize(width: 141, height: 141)
default:
return CGSize(width: 155, height: 155)
}
}
func getMediumWidgetSize() -> CGSize {
let screenBounds = UIScreen.main.bounds.size
let height = screenBounds.height
switch height {
case 926:
return CGSize(width: 362, height: 170)
case 896:
return CGSize(width: 360, height: 169)
case 812:
return CGSize(width: 329, height: 155)
case 736:
return CGSize(width: 348, height: 159)
case 667:
return CGSize(width: 322, height: 148)
case 568:
return CGSize(width: 291, height: 141)
default:
return CGSize(width: 329, height: 155)
}
}
func getLargeWidgetSize() -> CGSize {
let screenBounds = UIScreen.main.bounds
let height = screenBounds.height
switch height {
case 926:
return CGSize(width: 362, height: 382)
case 896:
return CGSize(width: 360, height: 376)
case 812:
return CGSize(width: 329, height: 345)
case 736:
return CGSize(width: 348, height: 357)
case 667:
return CGSize(width: 322, height: 324)
case 568:
return CGSize(width: 291, height: 299)
default:
return CGSize(width: 329, height: 376)
}