個人でやってるとこれが限界なのはよく分かる。 とりあえず、XS,11,12シリーズ全部のIPSWでテストしてて、XRとSE2は多分大丈夫だろうから、オフセットをそこに追加で動くでしょうレベル・・・

 

 

 

 

public enum Device: Equatable, Hashable {
  static func current() -> Device {
  var info = utsname()
  uname(&info)
   
  switch String(cString: &info.machine.0) {
  case "iPhone11,2": fallthrough
  case "iPhone11,4": fallthrough
  case "iPhone11,6": fallthrough
  case "iPhone11,8": // iPhone XR should probably be treated like an XS
  return .iPhoneXS
   
  case "iPhone12,1": fallthrough
  case "iPhone12,3": fallthrough
  case "iPhone12,5": fallthrough
  case "iPhone12,8":
  return .iPhone11
   
  case "iPhone13,1": fallthrough
  case "iPhone13,2": fallthrough
  case "iPhone13,3": fallthrough
  case "iPhone13,4": // iPhone SE 2 should probably be treated like an iPhone 11
  return .iPhone12
   
  default:
  return .Unknown
  }
  }
   
  case iPhoneXS
  case iPhone11
  case iPhone12
  case Unknown
  }
 

この段階でテストするのはかなり勇気が要るので人柱さんに頑張ってもらおう;;