[Question]
  [
Write the shortest program that prints, in order, a complete list of iPhone iterations, according to [this site](https://www.theiphonewiki.com/wiki/List_of_iPhones):
```
iPhone
iPhone 3G
iPhone 3GS
iPhone 4
iPhone 4S
iPhone 5
iPhone 5c
iPhone 5s
iPhone 6
iPhone 6 Plus
iPhone 6s
iPhone 6s Plus
iPhone SE
iPhone 7
iPhone 7 Plus
iPhone 8
iPhone 8 Plus
iPhone X
iPhone XR
iPhone XS
iPhone XS Max
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
```
Output should be printed exactly as specified, though trailing newlines are allowed (as well as additional whitespace at the end of each line).
This is code golf, so the shortest answer in bytes, per language, wins.
  
[Answer]
# [Canvas](https://github.com/dzaima/Canvas), ~~77~~ ~~76~~ 73 [bytes](https://github.com/dzaima/Canvas/blob/master/files/chartable.md)
```
¶＋∔ｉＦ╴qV1┼#│»ｌN↶:╋KＡRV／＋├6<∔ZK＠≠≡Ｚｅ３ｈ}s×⁴＊⁵GZX─?ep┼Q‟-ｓ｛iPhone ×|∙ Plus╋］
```
[Try it here!](https://dzaima.github.io/Canvas/?u=JUI2JXVGRjBCJXUyMjE0JXVGRjQ5JXVGRjI2JXUyNTc0cVYxJXUyNTNDJTIzJXUyNTAyJUJCJXVGRjRDTiV1MjFCNiUzQSV1MjU0QksldUZGMjFSViV1RkYwRiV1RkYwQiV1MjUxQzYlM0MldTIyMTRaSyV1RkYyMCV1MjI2MCV1MjI2MSV1RkYzQSV1RkY0NSV1RkYxMyV1RkY0OCU3RHMlRDcldTIwNzQldUZGMEEldTIwNzVHWlgldTI1MDAlM0ZlcCV1MjUzQ1EldTIwMUYtJXVGRjUzJXVGRjVCaVBob25lJTIwJUQ3JTdDJXUyMjE5JTIwUGx1cyV1MjU0QiV1RkYzRA__,v=8)
`-3G-3GS-4-4S-5-5c-5s-6-6|-6s-6s|-SE-7-7|-8-8|-X-XR-XS-XS Max-11-11 Pro-11 Pro Max` compressed, split on `-`, `|` replaced with `' Plus'`, and `'iPhone '` prepended.
[Answer]
# [Zsh](https://www.zsh.org/), ~~107~~ 105 bytes
*-2 bytes due to leniency on trailing spaces*
```
print -l iPhone\ {,{3G,4}{,S},5{,c,s},6{,s}{,\ Plus},SE,{7,8}{,\ Plus},X{,R,S,S\ Max},11{,\ Pro{,\ Max}}}
```
~~[Try it online!](https://tio.run/##qyrO@P@/oCgzr0RBN0chMyAjPy@1WidGobra2F3HpLZaJ7hWx7RaJ1mnuFbHrBpIgiQDckqB3GBXnWpzHQskkYhqnSCdYJ3gGAXfxIpaHUNDsFRRPogCiQDB//8A "Zsh – Try It Online")~~
[Try it online!](https://tio.run/##qyrO@P@/oCgzr0RBN0chMyAjPy81RqFap9rYXcektlonuFbHtFonWae4VsesGkhW68QoBOSUArnBrjrV5joWSCIR1TpBOsE6wTEKvokVtTqGhmCponwQBRKprf3/HwA "Zsh – Try It Online")
A long brace expansion. Bash/sh need `printf %s\\n` instead for 4 extra bytes.
[Answer]
# JavaScript (ES6), ~~137 136~~ 135 bytes
```
_=>"iPhone3G9GS39S33c9s3303s9s01SE3903301X1XR1XS1XS Max22 Pro2 Pro Max".replace(/\d/g,n=>[" Plus",k=`
iPhone `,k+11,k+i][n]||k+i++,i=3)
```
[Try it online!](https://tio.run/##JY2xDoIwFEV3v6LpBKEC5U0dymaYTIhdSJBoUwoipCVUjQP/jlWTm5N7pnOXL@nUMsyPvbGt3jq@XXiOh/JmjYaCFQKYAFDMAaTgmEupOABLvdGKVidaCT90lO8sQ@Vif/gqjhc9T1LpIDm3SU8Mz2uMyunpMBn5dfcvoCsZI0o9hqY2zbr6E0Vk4BBuyhpnJx1Ptg@6IAy3Dw "JavaScript (Node.js) – Try It Online")
### How?
The numeric version is stored in a counter \$i\$ initialized to \$3\$.
Below are the digits used for the compression:
* \$0\$: `" Plus"`
* \$1\$: `"\n"` + `"iPhone "`
* \$2\$: `"\n"` + `"iPhone 11"`
* \$3\$: `"\n"` + `"iPhone "` + \$i\$
* \$9\$: same as \$3\$, but \$i\$ is incremented afterwards
Resulting in:
```
"iPhone"    --> "iPhone"
"3G"        --> "iPhone 3G"
"9GS"       --> "iPhone 3GS" (i++)
"3"         --> "iPhone 4"
"9S"        --> "iPhone 4S" (i++)
"3"         --> "iPhone 5"
"3c"        --> "iPhone 5c"
"9s"        --> "iPhone 5s" (i++)
"3"         --> "iPhone 6"
"30"        --> "iPhone 6 Plus"
"3s"        --> "iPhone 6s"
"9s0"       --> "iPhone 6s Plus" (i++)
"1SE"       --> "iPhone SE"
"3"         --> "iPhone 7"
"90"        --> "iPhone 7 Plus" (i++)
"3"         --> "iPhone 8"
"30"        --> "iPhone 8 Plus"
"1X"        --> "iPhone X"
"1XR"       --> "iPhone XR"
"1XS"       --> "iPhone XS"
"1XS Max"   --> "iPhone XS Max"
"2"         --> "iPhone 11"
"2 Pro"     --> "iPhone 11 Pro"
"2 Pro Max" --> "iPhone 11 Pro Max"
```
[Answer]
# [///](https://esolangs.org/wiki////), 108 bytes
Naive compression, simply replacing `#` with `\niPhone`. (Further compression does not work by the way.)
```
/#/
iPhone //@/ Plus/iPhone#3G#3GS#4#4S#5#5c#5s#6#6@#6s#6s@#SE#7#7@#8#8@#X#XR#XS#XS Max#11#11 Pro#11 Pro Max
```
[Try it online!](https://tio.run/##LchBCoMwEEDRfU8R@AcYpCa6nE1xVQjNJlsRwYJUcCj09jFS4cGHb@toy2ylCHJ7x2X7zE5ExcX1a/If3Icq0dImPH7CG4GghFpT0oOOTunplUx@kVPlnuOPpqlc3Lcr5yzlAA "/// – Try It Online")
# [///](https://esolangs.org/wiki////), 103 bytes
This works only if preceding newlines are allowed.
```
/#/
iPhone //@/ Plus/##3G#3GS#4#4S#5#5c#5s#6#6@#6s#6s@#SE#7#7@#8#8@#X#XR#XS#XS Max#11#11 Pro#11 Pro Max
```
[Try it online!](https://tio.run/##LchBCoMwEEDRfU8R@AcYRBNdzkZcFUKzyVaKoCAKDoXePqZQePDh2z7bulgpgjy2uJ7H4kRUXNw/JtBOVaKjS3j8G28EghJqTUkjPb0yMCiZ/CKnyj3nL01TuXid//xmKTc "/// – Try It Online")
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), 83 [bytes](https://github.com/DennisMitchell/jelly/wiki/Code-page)
```
“Ø^ÞṠṠẠ'Ḣß¥»=⁶œṗ;11;“RcGEs436X578 ”µ“ƈ`¿øÐ⁽ḞÆCḊḋɲÑF×GÇz ⁸¦MƊ‘×“£¿Þç‘¦5ŻṃµṚ“®Ɲ,»,K)Y
```
**[Try it online!](https://tio.run/##y0rNyan8//9Rw5zDM@IOz3u4cwEI7Vqg/nDHosPzDy09tNv2UeO2o5Mf7pxubWhoDVQXlOzuWmxibBZham6h8Khh7qGtQMFjHQmH9h/ecXjCo8a9D3fMO9zm/HBH18Md3Sc3HZ7odni6@@H2KoVHjTsOLfM91vWoYcbh6UA9hxYDtcw7vBzIP7TM9OjuhzubD219uHMWSGrdsbk6h3breGtG/v8PAA "Jelly – Try It Online")**
### How?
Uses eighteen non-"iPhone " parts and constructs each line from a big-endian number in base eighteen, then prefixes each with "iPhone " and joins with newline characters.
The parts used are (comma separated):  
 `Max, Plus, Pro, ,S,R,c,G,E,X,s,3,4,5,6,7,8,11`
The mapping to the eighteen digits was chosen so that:
1. the space character is a zero - allowing a single byte prepend-zero to make the first line
2. no two digit "numbers" are greater than 255 - allowing encoding with code-page indices
3. the three digit "numbers" (`S,G,3`;  `Plus,s,6`;  `Max,S,X`; and  `Max, Pro,11`) are all exact multiples of five (and less than 1275) - allowing encoding with code-page indices, with post multiplication to acquire their full value
4. the three words are adjacent and do not occupy digit one - allowing compression with a split-before spaces application
One such (1-indexed) ordering is:  
`S, Max, Plus, Pro,11,R,c,G,E,s,4,3,6,X,5,7,8,` 
As such the code works like so:
```
“...»=⁶œṗ;11;“...”µ“...‘×“£¿Þç‘¦5ŻṃµṚ“®Ɲ,»,K)Y - Main Link: no arguments
“...»                                          - string = "S"+" Max"+" Plus"+" Pro"
      ⁶                                        - space character
     =                                         - equals? (vectorises)
       œṗ                                      - partition before truthy indices
         ;11                                   - concatenate 11
             “...”                             - list of characters "RcGEs436X578 "
            ;                                  - concatenate
                                               - giving our "digits" [1,2,...,17,0]
                  µ                            - start a new monadic chain
                   “...‘                       - list of code-page indices = [156, 96, 11, 29, 15, 141, 195, 13, 67, 193, 233, 163, 16, 70, 17, 71, 14, 122, 32, 136, 5, 77, 145]
                               ¦               - sparse application...
                                               - ...to indices:
                         “£¿Þç‘                -   code-page indices = [2, 11, 20, 23]
                        ×       5              - ...do: multiply by five -> [156, 480, 11, 29, 15, 141, 195, 13, 67, 193, 1165, 163, 16, 70, 17, 71, 14, 122, 32, 680, 5, 77, 725]
                                 Ż             - prepend a zero
                                  ṃ            - base-decompress (convert to base-18 using the "digits")
                                               -   e.g. 680 -> [2, 1, 14] -> [" Max",'S','X']
                                   µ        )  - for each:
                                    Ṛ          -   reverse it (e.g. [" Max",'S','X'] -> ['X','S'," Max"])
                                     “®Ɲ,»     -   string = "iPhone"
                                          ,    -   pair
                                           K   -   join with a space character
                                             Y - join with newline characters
                                               - implicit, smashing print
```
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E), 81 bytes
```
11”3G3GS44S55c5s66‰´6s6s‰´SE77‰´88‰´XXRXSXSî£ÿÿˆ×ÿˆ×î£”•ΛΩ&°ŽäÞнã•0šTª£'i”ƒ¿ ”«ì»
```
[Try it online!](https://tio.run/##yy9OTMpM/f/f0PBRw1xjd2P3YBOTYFPTZNNiM7NHDRsObTErNisGM4Jdzc3BDAsLMBURERQRHBF8eN2hxYf3H95/uu3wdCgJFAEa9qhh0bnZ51aqHdpwdO/hJYfnXdh7GCi8yODowpBDqw4tVs8Eqjk26dB@BSB9aPXhNYd2//8PAA "05AB1E – Try It Online")
I dom't have time to re-analyze.
# Original Solution, 178 bytes
```
'i”ƒ¿”«D… 3G«D'S«.ÀD.Á„ 4«D'S«.ÀD.Á„ 5«Ð'c«s's«.ÀD.Á„ 6«D" Plus"D.Á«sDŠ's«D.À«.ÀD.Á… SE«.ÀD.Á„ 7«D" Plus"D.Á«.À.ÀD.Á„ 8«DŠs«.ÀD.Á„ X«Ð'R«s'S«D" Max"D.Á«.À.ÀD.Á… 11«DŠ" Pro"«DŠs«»
```
[Try it online!](https://tio.run/##yy9OTMpM/f9fPfNRw9xjkw7tB1KHVrs8alimYOwOZKgHH1qtd7jBRe9w46OGeQommEKmh1YfnqCefGh1sXoxioQZUK2SQkBOabESSAiowOXoApAaIK8BSeUyhWBXFI3m6BqBckjSFkDpowtQ7YoAOyII5IhgsG7fxAosmpcpGBqCdQONL8pXghl0aPf//wA "05AB1E – Try It Online")
## Explanation
First, I push the string "iPhone" by using `'i”ƒ¿”«`.
I duplicate that, and push " 3G", and concatenate them to get "iPhone 3G".
After that, I use `.ÀD.Á` to get "iPhone" at the top of the stack, etc.
When I get to iPhone 6, I put " Plus" at the bottom of the stack and save it for iPhone 6S Plus.
I don't save it for iPhone 7 and 8 Plus, because I'm not sure if it will golf off some bytes, and I'd already spent enough time figuring it out.
I **did** save " Max" though, and I'm pretty sure now that saving " Plus" would've shaved off more bytes. However, now that the program is already completed, it's unclear how I do that.
At the end, I concatenate the whole stack together with newline delimiters, and implicit output happens.
[Answer]
# [Bubblegum](https://esolangs.org/wiki/Bubblegum), 82 bytes
```
00000000: cb0c c8c8 cf4b e582 500a c6ee 0856 308c  .....K..P....V0.
00000010: 6902 67c0 854c e18c 6438 ab18 c632 8333  i.g..L..d8...2.3
00000020: 1402 724a 11c2 482c 1489 6057 18cb 1cce  ..rJ..H,..`W....
00000030: 4051 6001 67a0 0847 c019 4170 5630 82a5  @Q`.g..G..ApV0..
00000040: e09b 5801 e319 1a22 580a 0145 f9a8 3c90  ..X...."X..E..<.
00000050: 4a00                                     J.
```
[Try it online!](https://tio.run/##jc8/S4QxDAbw3U/x4Cwh6d@84qCDKKeDLup4bewdgoII9/lfU7zbzZDSkv76tB96/xz7w9e68rEuYZ0NpqawXeoYWQMyc4OVMcCaCyKrATTrgehpri9MZ3@CuFEWDijVGJqTYYjPlxQVrYu7JQZojBH4oD3RI9G7uhEoHo3ghiQ3akgNIhaQNJif6YLCucLFDjEbM8fPhuj@gmj7OqMcjehG4iw@z95qYw@fKoxlQZLKyCV6wNAycP28nUnuiG6@/SsnI7kxeOnI6saIflNaCHPbwJIydktTRFt45nibz597vyW6Ohl55mjsA/@oDa3rLw "Bubblegum – Try It Online")
# [Bubblegum](https://esolangs.org/wiki/Bubblegum), 87 bytes
Written by @FryAmTheEggman, so I don't take credit for this.
```
00000000: e001 0700 4f5d 0034 9409 072b 9ed9 334a  ....O].4...+..3J
00000010: 2d4f 957c 30d4 5ae8 8bc7 1c12 f267 7c2c  -O.|0.Z......g|,
00000020: 47df 6d0b 6d45 b174 dcab 2da7 e97a ed9f  G.m.mE.t..-..z..
00000030: e772 808d f6c6 d93e c423 2b3c 378e 0a13  .r.....>.#+<7...
00000040: c57b 7a72 436d a362 6818 88d0 a495 4466  .{zrCm.bh.....Df
00000050: e336 dcfb ac00 00                        .6.....
```
[Try it online!](https://tio.run/##ddA/T8MwEAXwnU/xJMbS08W@@GKEWAAhsXRHYvCfuB3IUtGl9LuHa4jYeLJiyZJ/fpd8yvlz3J@meeY19xiZO7AyQ1pfwewFUTjamcuIY43wXhJAlt0HiW0bIv928yt0ZrgqDbHXAs9V0KdxwJCLoiudQ3NBocUVYLujC9M7Ldlf7lbDmSFaG0LlbB/pkTsV1JKy4UkxRk2wLg14pYmmF/oi2hKdiVbDX2dRdRh4qGihBNToRxRxHi5766bDCE6dt1mOS4NHut08KP0ZYkbpNUOTQeJDRfLBIQydDTRURpLYQyQEM77Px6eJ8mGhnttq9Nce3tvrpWWkYj/W1j@hsFye5x8 "Bubblegum – Try It Online")
[Answer]
# [Perl 5](https://www.perl.org/), ~~118~~ 114 bytes
```
$_="3G3GS44S55c5s66-6s6s-SE77-88-XXRXSXS Max99Pro9Pro Max";s/-/ Plus/g;s/^|(\d|X|SE)/\niPhone $1/g;s/9/11 /g;print
```
[Try it online!](https://tio.run/##K0gtyjH9/18l3lbJ2N3YPdjEJNjUNNm02MxM16zYrFg32NXcXNfCQjciIigiOCJYwTexwtIyoCgfhEEcJetifV19hYCc0mL9dCA7rkYjJqUmoibYVVM/Ji8zICM/L1VBxRAsZ6lvaKgAZBUUZeaV/P8PAA "Perl 5 – Try It Online")
This code is rather simple: in the string `$_`, it replaces "-" with " Plus". Then it cuts the string at every digit, "X" or "SE" and prefixes the matching part with a line break and "iPhone ". Finally, it replaces "9" by "11 ".
Attempting to replace " Max" or " Pro" with shorter symbols would not bring any benefits because the substitution would cost more characters.
Thanks to Weizel who allowed me to save 4 bytes by replacing the first "iPhone" in the string.
I assumed that the final newline was not necessary.
[Answer]
# [Keg](https://github.com/JonoCode9374/Keg), ~~129~~ 127 bytes
```
‘1⊙‘®p`iPhone `:&
⑻3G
⑻3GS
⑻4
⑻4S
⑻5
⑻5c
⑻5s
⑻6
⑻6 ©p
⑻6s
⑻6s ©p
⑻SE
⑻7
⑻7 ©p
⑻8
⑻8 ©p
⑻X
⑻XR
⑻XS
⑻XS Max
⑻11
⑻11 Pro
⑻11 “∂⬭q≥
```
[Try it online!](https://tio.run/##y05N////UcMMw0ddM4HUoXUFCZkBGfl5qQoJVmpcjybuNnaHkMEgygRMgJmmYCIZTBaDSDMwoXBoZQGYARErhvGDXUGkOZiAiVmACRgvAkwEgclgCKngm1gBYhkaQkiFgKJ8KOtRw5xHHU2P1qwtfNS59P9/AA "Keg – Try It Online")
How's that for a submission! Simply using the register and a little bit of string compression + variables gives a kind of competitive answer.
[Answer]
# [Retina 0.8.2](https://github.com/m-ender/retina/wiki/The-Language/a950ad7d925ec9316e3e2fb2cf5d49fd15d23e3d), 91 bytes
```
¶3G¶3GS¶4¶4S¶5¶5c¶5s¶6=¶6s=¶SE¶7=¶8=¶X¶XR¶XS!¶11¶11 Pro!
%(`^
iPhone 
!
¶$` Max
=
¶$` Plus
```
[Try it online!](https://tio.run/##K0otycxL/P@f69A2Y3cQDj60zQSIgJQpECUDcfGhbWa2QFwMJIJdD20zB9IWQBwBREFAHKx4aJuhIQgrBBTlK3KpaiTEcWUGZOTnpSpwKQINVklQ8E2s4LKFMANySov//wcA "Retina 0.8.2 – Try It Online") Includes additional whitespace on the first line Explanation:
```
¶3G¶3GS¶4¶4S¶5¶5c¶5s¶6=¶6s=¶SE¶7=¶8=¶X¶XR¶XS!¶11¶11 Pro!
```
Insert the names of the models, but without `iPhone`, `Max` or `Plus`, which get added later.
```
%(`
```
Operate on each line individually.
```
^
iPhone 
```
Prefix `iPhone` to the line.
```
!
¶$` Max
```
If the line has a `!`, then duplicate it and append `Max` to the duplicate.
```
=
¶$` Plus
```
If the line has a `=`, then duplicate it and append `Plus` to the duplicate.
[Answer]
# [Bash](https://www.gnu.org/software/bash/), 109 bytes
```
printf %s\\n iPhone\ {,{3G,4}{,S},5{,c,s},6{,s}{,\ Plus},SE,{7,8}{,\ Plus},X{,R,S,S\ Max},11{,\ Pro{,\ Max}}}
```
Similar to the Zsh solution but some slight changes and some output leniency.
[Try it online!](https://tio.run/##S0oszvj/v6AoM68kTUG1OCYmTyEzICM/LzVGoVqn2thdx6S2Wie4Vse0WidZp7hWx6waSFbrxCgE5JQCucGuOtXmOhZIIhHVOkE6wTrBMQq@iRW1OoaGYKmifBAFEqmt/f8fAA "Bash – Try It Online")
[Answer]
# Swift, 152 bytes
```
",3G,3GS,4,4S,5,5c,5s,6,6 Plus,6s,6s Plus,SE,7,7 Plus,8,8 Plus,X,XR,XS,XS Max,11,11 Pro,11 Pro Max".split(separator: ",").forEach{print("iPhone \($0)")}
```
Being related to iPhones, this needs an answer in Swift. Unfortunately Swift is woooordy. The most boring route is the shortest :/
[Try it online](https://repl.it/repls/WeirdTurbulentData)
[Answer]
# [Brain-Flak](https://github.com/DJMcMayhem/Brain-Flak), 5007 bytes
```
((((((<(((((((((<((((((((((<((((((((<(((((((((<((((((((<(((((((((<(((((((<(<((((((((<((((((((<((((<(((((((<(<(((((((<(<((((<((((((<((<((((((<(<((((((<(<(((<<((<((<((<(((((<((<((((<((((((<(<(<((((<((<((((((<((<((<((<(((((<(<(<(((((((((((((<((<(<(<<((((((<((<(((<((((((()(()(()()()){}){}){}){}){})[()(()(()()()()[]){}){}])[((()()()[]){}){}])>((((()[]){}){}){})()(()(()(()([]){}){}){}){})()()())[(()(()()[]){}){}])>(((()[]){}){})()([]){}))>(()()([])({}){})(()([]){})({}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()()()()()()()()()[])>((()()()()()){})>((()([]){})({}){})()()())>((([]){}){})[(()()()[]){}])>(()(()()[]){}))[()((()()()()){}){}])>(()(([]){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})[()()([])({}){}])()()()()()()()[]))[()((()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])>((()[]){})()(((()()()){}){}){})>((()()()()()){})(()()()()()()()()()()()()()[]){})>(()(()()()()()[]){})[((()()()()()){}){}])[[]])()()()()()[])()()()()())[()()()()()()()()[]])>(()(()[]){})()(()()()()){})())>(([]){})[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(((()(()()()()){}){}){}){})()()()()())>((((()()()()){}){}){})()()()()()()()()()()[])()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()()()()()()[])(()()()){})>((((()()()()){}){}){})[])()(()()()()){})())[()(()()()){}])>(()()()()()()()[])()(((()()()){}){}){})>((()()()()()){})()()[])>((((()()()()){}){}){})()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(((()((()()()){}){}){}){}){})()())[()(()()()()){}])[((()(()()()){}){}){}])>((((()()()()){}){}){})(((()()()){}){}){})[(((()()()){}){}){}])>(()()()()()()()()()[])()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})(()(()(()()()()()){}){}){})[(((()()()){}){}){}])>([])()(()()()()){})())>([])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})>(()()()()()()()[])()())[()(()()()()){}])[((()(()()()){}){}){}])>((((()()()()){}){}){})()(()(()()()()()){}){})>((((()()()()){}){}){})()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()((()(()()()()()){}){}){})>((((()()()()){}){}){})()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(()((()(()()()){}){}){}){})(()(()()()){}){})>((((()()()()){}){}){})()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(((()((()()()){}){}){}){}){})()())[()(()()()()){}])[((()(()()()){}){}){}])>((((()()()()){}){}){})()(()(((()()()()()){}){}){}){})>((()(()((()()()){}){}){}){})[(()(()()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(((()((()()()){}){}){}){}){})>((()(()((()()()){}){}){}){})[(()(()()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(((()((()()()){}){}){}){}){})()())[()(()()()()){}])[((()(()()()){}){}){}])>((((()()()()){}){}){})(()(()()()()()){}){})[(()(()()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})((()(()()()()()){}){}){})[(()(()()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(((()((()()()){}){}){}){}){})>(()((()((()()()){}){}){}){})[()((()()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(((()(()()()()()){}){}){}){})[(()(()(()()()()()){}){}){}])[()((()()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(()((()()()()()){}){}){})[()((()()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(((()(()()()()){}){}){}){})[()(()(()(()()()){}){}){}])[((()()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})(()((()()()()()){}){}){})[((()()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(((()(()()()()){}){}){}){})[((()()()){}){}])[((()()()()()){}){}])[()(()(()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()((()(()(()()()){}){}){}){})[((()()()()()){}){}])[()(()(()()()()){}){}])()((()((()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})>((()()()()()){})()(()((()(()()()()()){}){}){}){})()(()()()()){})())[()(()()()){}])[(((()()()){}){}){}])()(((()()()){}){}){})
```
[Try it online!](https://tio.run/##5VhBTsQwDLzzEvuwP7Aq8Q4rh@WAhEAcuCLeXtqkSZzEriJaoRS2PWRtx56ZOOl2nz7uL@@357f76zyD/xDETx7lIfWYSHGSHkCFg8SoGBBFJxWBIojqBNUEknxiAPnMYmaMwe1eLvz8Km6WTkB2we4WB9SmKSSLhvVOs5db2oNrrccxfZUnp0lTV8f2DTZX8oGsl5j4/IJagF0xdQjNxQEFymTBUJdbnasnwWWpiwuYM7@AR6bNQZLxz1g0Vj9RKOZanjqizVbZe/FNeQFVVI22AGhdIc0kuzAauU7jtWHnyukihtvsaYky3pLbFFemX/WWH6Z9psopO0kJMnQ5sU80xEWpch8oGHvwTKBy6EPDbkeeA816xrLqhyeU1UQ9bCta3LQ9Der0X2@R8tnQAVEF5M0HYOhNdVx4ndyQLagvwohQEYzfGo35P@71TSBtMRMkAwJrXeCGlesvcTnnmFf28HA67Bz3F2s@BLv5EIbkoh8KbD@F3ZBcEIwWGlt2461YkXysHWvKfSGxoXrDU1/7ym0wBiXrj5XLMMC9o@fE4g/zPN8evwE "Brain-Flak – Try It Online")
Created using [this](https://tio.run/##7VTfa@NGEH7O/hWDSsjunXKXpLQPJhc4KL36Cu1DH0oxpqyssbWxtGt2VzEi5G9PZ1ayY/mSPLXQow2xLc2Pb775ZnY3Xayc/fbRNBvnI4QuCPq8Cxg9LlofjLO1aUyUlxfpTz0u9KJC@AD3D0KUuIQVWvQ64p@2bQr0kn5yqNCsqphDjXdYU/BFDq6NmzbS84@6Dqgm8A1MS9QQHbQB4beoF2v4KeWBsWFjPJZQdPDZwc/GrsSJWQ4YE9h4Y6PMIIM3Q4m3EGKqreiRHb2h56FUyj6kpqgGpFYm4DG2fnibjYLmKY8s8IF62Edm2d5@fWiecdljPc6fEeQtXO4ESXzn2WGhPvYAlt13um5Z9sZYKWdse6YWA5zva71ccw5UrXfDTSr7Bq5A2xJ0EUYoijrkd6SZwWzObGeZVC8Xv3y9bko/Deo03D9kcAryOZT378G8BpNDJu8fFE9fGqp5pRQsnQfDQ/XarlBe5ZCWYVD1lHw8wnkOa@xIxhotLcVzIydn0lqcDPr3b@KY6NV33@e81/Tfb/TRcaD1o7WV2nvdqYk46d8Jnben1oGPwoU4Yd67TpkpdYD0mzCekp@yef6ZHPabTS8Ngks8bTstmcpIt@tRZnbDrz3cK@d4n36o3a4HittL1QMLoTlKN0WpIUy@kKQ2IcpGb6TzZQ5B0fEUNB5IF08sjX3nUZdSiVsymtlkcn45F6I/89y@lre0AlqaxOueVuH6Rl3f0PeIonp8/B3PPIJ1TIzXwge@bmp3h@IP18Laui1Eus18W2NI@x8clA6m4iMs27qGhWvo8mvQxrMA20pHmJ41lGLsmhV0y4SzdW1d2rNInUZ2Blh61xBeB47gPazaTkzhtiXBttpauvSQwDtKrYgBQy4Ra5buk4tRQ6PXmNytLYl0JGZC/ELngKAc56/M3RCwGdlrIsDm0m3tyOFbC9q7lo84fUoM6FPoKGpfd@G7kSPojp5cWXQ4sqc@qKzBBFu1A6gg5YkhC0z7TKdsEIK3PfAEqFVSjldfe9a2QCSCi4pVLdrITh5ddDS7quOpMQUTxdQGUyJsEQqC7EfIg9lhrFwajCUGT/Nd6aYnuE0L0XPf1D3iR7LTNcFt67AGijweyg@Oh5t6bZI@O2oFuctEDvErG9BXRVb@6qr8kKZ6yaS@aIyu1SOLkJ/@hrSDFf@3b/h/7O75n@w/Q/Yv) program
[Answer]
# Deadfish, 2374 bytes
```
{{i}}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}i}dc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}dc{i}{i}c{{d}iiii}dc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}dc{i}{i}c{i}iic{{d}iii}dddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}c{{d}iiiiii}ddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}c{i}{i}{i}ic{{d}iii}dddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}ic{{d}iiiiii}dddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}ic{{i}dddddd}iiiiiic{{d}i}ic{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}ic{{i}dddd}iic{{d}}dddddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}iic{{d}iiiiii}ddddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}iic{d}{d}ddc{{i}ddddd}ddc{i}{i}{i}ddc{i}dcddc{{d}}dddddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}iic{{i}dddd}ic{{d}}dddddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}iic{{i}dddd}ic{{d}ii}dddc{{i}ddddd}ddc{i}{i}{i}ddc{i}dcddc{{d}}dddddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{{i}ddddd}ic{d}ddddc{{d}iiii}ic{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}iiic{{d}iiiiii}dddddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}iiic{d}{d}dddc{{i}ddddd}ddc{i}{i}{i}ddc{i}dcddc{{d}}dddddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}iiiic{{d}iiiiii}ddddddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}iiiic{d}{d}ddddc{{i}ddddd}ddc{i}{i}{i}ddc{i}dcddc{{d}}dddddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{{i}ddddd}iiiiiic{{d}ii}iic{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{{i}ddddd}iiiiiicddddddc{{d}iii}ddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{{i}ddddd}iiiiiicdddddc{{d}iii}dddc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{{i}ddddd}iiiiiicdddddc{{d}iiiii}dc{{i}dddddd}iiiiic{i}{i}c{i}{i}iiic{{d}}{d}c{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}dddcc{{d}iiiiii}ic{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}dddcc{d}{d}iiic{{i}ddddd}ddc{i}{i}{i}iiiicdddc{{d}}dc{{i}d}iiiiic{d}{d}dddddc{i}{i}iiiic{i}dddcdc{d}ic{{d}iii}ic{i}{i}dddcc{d}{d}iiic{{i}ddddd}ddc{i}{i}{i}iiiicdddc{{d}ii}ic{{i}dddddd}iiiiic{i}{i}c{i}{i}iiic
```
Umm...
[Answer]
# [Vyxal](https://github.com/Lyxal/Vyxal) `jr`, ~~96~~ 93 bytes
```
` «₍
`\Y`
3G
3GS
4
4S
5
5c
5s
6
6Y6s
6sYSE
7
7Y8
8YX
XR
XS
XS ½…
11
11 ×Ǐ
11 ×Ǐ ½…`V↵ƛ`i¬Ẋ `+
```
[Try it Online!](http://lyxal.pythonanywhere.com?flags=jr&code=%60%20%C2%AB%E2%82%8D%0A%60%5CY%60%0A3G%0A3GS%0A4%0A4S%0A5%0A5c%0A5s%0A6%0A6Y6s%0A6sYSE%0A7%0A7Y8%0A8YX%0AXR%0AXS%0AXS%20%C2%BD%E2%80%A6%0A11%0A11%20%C3%97%C7%8F%0A11%20%C3%97%C7%8F%20%C2%BD%E2%80%A6%60V%E2%86%B5%C6%9B%60i%C2%AC%E1%BA%8A%20%60%2B&inputs=iPhone%20SE%0AiPhone%207%0AiPhone%207%20Plus%0AiPhone%208%0AiPhone%208%20Plus%0AiPhone%20X%0AiPhone%20XR%0AiPhone%20XS%0AiPhone%20XS%20Max%0AiPhone%2011%0AiPhone%2011%20Pro%0AiPhone%2011%20Pro%20Max&header=&footer=)
Compressed  `Plus` with a newline a bit.
[Answer]
# [Python 3](https://docs.python.org/3/), 136 bytes
```
for i in",3G,3GS,4,4S,5,5c,5s,6,6 Plus,6s,6s Plus,SE,7,7 Plus,8,8 Plus,X,XR,XS,XS Max,11,11 Pro,11 Pro Max".split(","):print("iPhone",i)
```
[Try it online!](https://tio.run/##Lc7BCsIwEEXRXxlmZeEhlDZtcS9dCcFsshVRHChJSCvo18cpES7M4a0mfbdXDF0pz5hJSAKjmzWHHr2DgbnDrBgwkF3eir1Kd8aIsXrCVOHhr/BOo8vtg7bVyOb4P/vIxzUtsh0Y3JxSlqAUq188GNKU8gM "Python 3 – Try It Online")
[Answer]
# [APL (dzaima/APL)](https://github.com/dzaima/APL), 139 bytes
```
⎕←↑('iPhone ',)¨" ""3G""3GS""4""4S""5""5c""5s""6""6 Plus""6s""6s Plus""SE""7""7 Plus""8""8 Plus""X""XR""XS""XS Max""11""11 Pro""11 Pro Max"
```
I do not think there is a way to "bond" similar to J's `n&u`. That would be an obvious way to save some bytes.
This is my first APL answer. I probably should've gone with something a little less trivial.
[Attempt This Online!](https://ato.pxeger.com/run?1=m70qsSAnPqUqMTM3ccGCpaUlaboWNyc96pv6qG3Co7aJGuqZARn5eakK6jqah1YoKSgpGbuDcLCSkgkQASlTIEoG4mIlJTMgUgjIKQUxwRjKCXZVUjIHIijXAoigzAggCgLiYBBW8E2sUFIyNARhhYCifBgNFl9SnJRcDHUfzJ0A)
[Answer]
# [Vyxal](https://github.com/Vyxal/Vyxal) `jr`, 88 bytes
```
`3G3GS44S55c5s66 «₍6s6s «₍SE77 «₍88 «₍XXRXSXS ½…1111 ×Ǐ11 ×Ǐ ½…`»∵Te§ḋƒꜝL⁼»f₀pẇ¤J`i¬Ẋ `+
```
[Try it Online!](https://vyxal.pythonanywhere.com/#WyJqciIsIiIsImAzRzNHUzQ0UzU1YzVzNjYgwqvigo02czZzIMKr4oKNU0U3NyDCq+KCjTg4IMKr4oKNWFhSWFNYUyDCveKApjExMTEgw5fHjzExIMOXx48gwr3igKZgwrviiLVUZcKn4biLxpLqnJ1M4oG8wrtm4oKAcOG6h8KkSmBpwqzhuoogYCsiLCIiLCIiXQ==)
[Answer]
# [Stax](https://github.com/tomtheisen/stax), 100 [bytes](https://github.com/tomtheisen/stax/blob/master/docs/packed.md#packed-stax)
Yay, I (finally) beat Zsh!
```
┌W○εRKW>◙≡D↨u^╬=Θs╜i^░δ#(\D╘i╗◄⌠╜`┌!║Æ♂∞╦J╘^╙üÜ°¢╠╣⌂ƒ♣↨←Bµ☻òK$▲,0fε▄PÉ↔ΓÅ▲s2îùvπ↑╛!╢╠♣=·F┴²C6µób└╢íf
```
[Run and debug it](https://staxlang.xyz/#p=da5709ee524b573e0af04417755ece3de973bd695eb0eb23285c44d469bb11f4bd60da21ba920beccb4ad45ed3819af89bccb97f9f05171b42e602954b241e2c3066eedc50901de28f1e73328c9776e318be21b6cc053dfa46c1fd4336e6a262c0b6a166&i=)
## Explanation
1. Repace all `A`'s in the compressed string with `""`.
2. Surround it with `"`.
3. Evaluate the string.
4. Wrap the output in a list.
5. Map every item with a preceding `iPhone`. Print with a newline.
[Answer]
# [R](https://www.r-project.org/), ~~175~~ 178 bytes
```
cat(paste('iPhone',c('','3G','3GS','4','4S','5','5c','5s','6','6 Plus','6s','6s Plus','SE','7','7 Plus','8','8 Plus','X','XR','XS','XS Max','11','11 Pro','11 Pro Max')),sep='\n')
```
[Try it online!](https://tio.run/##K/r/PzmxRKMgsbgkVUM9MyAjPy9VXSdZQ11dR93YHUwEA0kTEAYxTEE4GUQUAwkzEFYIyCkFcyAEjBvsCiTMQRgmYgHCME4ECAeBiGAwoeCbWAFkGBqCCYWAonw4AyylqalTnFpgqx6Tp675/z8A "R – Try It Online")
Manual is shorter than this programmatic take:
# [R](https://www.r-project.org/), 231 bytes
```
r=rep;b='';m='Plus';cat(paste("iPhone",paste0(r(c(b,3:6,'SE',7:8,'X',11),c(1,2,2,3,3,1,2,2,4,3)),c(b,'G','GS',b,'S',b,'c','s',b,'s','s',r(b,6),'R','S','S',r(b,3))),c(r(b,9),m,b,m,b,b,m,b,m,r(b,3),'Max',b,'Pro','Pro Max')),sep='\n')
```
[Try it online!](https://tio.run/##LYzNCsIwEIRfRXqZBPZgrVRtyVE8CcVePHhpQkDB/pBU8O3jJpFllm@H2XEhOOXs0moFtKNC9/54tGZYxTL41Yri1T3nyRaUzq1wwghNVVMT@jPo0BwJd1BZSjKipB1PxZNpT5WMviZcwOpBjHkbNnwin8lxrJaEG1IkKlrcECsiniSN/BCl/5QThOvwTV2dm5H2Jjr86e2i8JggQ/gB "R – Try It Online")
[Answer]
# T-SQL, 145 bytes:
```
SELECT'iPhone '+value
FROM string_split(' -3G-3GS-4-4S-5-5c-5s-6-6 Plus-6s-6s Plus-SE-7-7 Plus-8-8 Plus-X-XR-XS-XS Max-11-11 Pro-11 Pro Max','-')
```
I did find a shorter version using a simple string replacement (**128 bytes**), but it's not quite as interesting, and it's not clear whether the preceding line break is allowed:
```
PRINT REPLACE('223G23GS2424S2525c25s2626 Plus26s26s Plus2SE2727 Plus2828 Plus2X2XR2XS2XS Max211211 Pro211 Pro Max',2,'
iPhone ')
```
I used the numeral (`2`) as the replacement character so I don't have to include another set of quotes. 
[Answer]
# [Ruby](https://www.ruby-lang.org/), 129 bytes
```
$><<"iPhone:3G:3GS:4:4S:5:5c:5s:6:6 Plus:6s:6s Plus:SE:7:7 Plus:8:8 Plus:X:XR:XS:XS Max:11:11 Pro:11 Pro Max".gsub(?:,"
iPhone ")
```
[Try it online!](https://tio.run/##KypNqvz/X8XOxkYpMyAjPy/VytgdiIKtTKxMgq1MrUyTrUyLrcyszBQCckqBDBCCMINdrcytzCFsCysLCCPCKiLIKiIYiBR8EyusDA2BSCGgKB9KgQSV9NKLS5M07K10lLggViooaf7/DwA "Ruby – Try It Online")
Uses the fact that strings can have newlines in (one byte), rather than `\n` (two bytes).
Otherwise this is a simple replacement of a single-character string into `iPhone`
[Answer]
# [PowerShell](https://github.com/TryItOnline/TioSetup/wiki/Powershell), 108 bytes
```
'3G,3GS,4,4S,5,5c,6,6 Plus,SE,7,7 Plus,8,8 Plus,X,XR,XS,XS Max,11,11 Pro,11 Pro Max'-split','|%{"iPhone $_"}
```
[Try it online!](https://tio.run/##LYjdCkAwAEZfZYl287mQ3xfQrtSym91JWlHLZETh2YeoU@d0JrOp2fZKa@dozBAzgQSJQIq0Q4aMcL1aiBI58q8LFF9IyBpSPJCq3RFFD4TP5tc7aWgnPSwU9AwOb@C9GRXxG@9y7gY "PowerShell – Try It Online")
-30 bytes for mazzy
[Answer]
# [Stax](https://github.com/tomtheisen/stax), 92 [bytes](https://github.com/tomtheisen/stax/blob/master/docs/packed.md#packed-stax)
```
Ωî♂∞¥■J⌡┤≥♦C♀ç¿kë▀/∞♥╧0î·Φ│∟/╢ì☼αuèôΩY?╘÷▄òà╣○╢{⌂P○å§o\τ+ mδ↓ê☻.═+Ä{╜A2jJü7πP|è╡╖Rä►┴Luƒ☺/¬&
```
[Run and debug it](https://staxlang.xyz/#p=ea8c0bec9dfe4af5b4f204430c87a86b89df2fec03cf308cfae8b31c2fb68d0fe0758a93ea593fd4f6dc9585b909b67b7f500986156f5ce72b206deb1988022ecd2b8e7bbd41326a4a8137e3507c8ab5b7528410c14c759f012faa26&i=)
simplifying the existing answer was enough for 92. there's probably a way to compress the intial over-big string.
[Answer]
# [JavaScript (Node.js)](https://nodejs.org), 132 bytes
```
_=>'iPhone,3G,3GS,4,4S,5,5c,5s,6,6 Plus,6s,6s Plus,SE,7,7 Plus,8,8 Plus,X,XR,XS,XS Max,11,11 Pro,11 Pro Max'.split`,`.join`
iPhone `
```
[Try it online!](https://tio.run/##Lc09C4MwFIXhvb8imwqngtSvxW6lU0GaJVsjVm0k5Iqxpf8@jaTwwH05y527T2f7VS3b0dBzcGPjHs05Uu2LzIDT1ePIkXMUKHoUFiVK1uq3j11IfkGFKnSNOoSAuENwj926L7LMY@1K/7OPUWoXrTYJmc6kjDyEv0y6nowlPaSapniMk8T9AA "JavaScript (Node.js) – Try It Online")
-5 bytes thanks to @cairdcoinheringaahing and @RedwolfPrograms
[Answer]
# Batch, 156 Bytes
```
@ECHO(iPhone&For %%A In (3G 3GS 4 4S 5 5c 5s 6 6s "6 Plus" "6s Plus" SE 7 "7 Plus" 8 "8 Plus" X XR XS "XS Max" 11 "11 Pro" "11 Pro Max")do @Echo(iPhone %%~A
```
[Answer]
# [Sequences](https://github.com/nayakrujul/sequences), \$118 \log\_{256}(96) \approx 97.1\$ bytes
```
",3G,3GS,4,4S,5,5c,5s,6,6 Plus,6s,6s Plus,SE,7,7 Plus,8,8 Plus,X,XR,XS,XS Max,11,11 Pro,11 Pro Max"","p{H"iPhone "fhF}
```
### Explanation
```
"..."","p{H"iPhone "fhF}
"..."                    // Push a string of suffixes of the models of iPhones
     ","p                // Split by commas
         {             } // For each model:
          H"iPhone "f    //   Print "iPhone " with no trailing newline
                     hF  //   And print the suffix with a trailing newline
```
### Screenshot
[![Screenshot](https://i.stack.imgur.com/XNWv5.png)](https://i.stack.imgur.com/XNWv5.png)
[Answer]
# [C (gcc)](https://gcc.gnu.org/), 162 bytes
```
f(i,n){n="3G3GS44S55c5s66 Plus6s6s PlusSE77 Plus88 plusXXRXSXS Max1111 Pro11 Pro Max";for(i=24;i--;)printf("iPhone %s\n",n+=strlen(n++));}
```
*-1 byte thanks to [Neil](https://codegolf.stackexchange.com/users/17602/neil)!*  
*-45 bytes thanks to [dzaima](https://codegolf.stackexchange.com/users/59183/dzaima)!* 
[Try it online!](https://tio.run/##Lco/C4MwEIfhm/0UR6CQoA62/oPgWDoVpFkcuog0bcCeEi0UxM@eRiw8cC8/roufXeec5iYisVDFAE4XT0EKqYIMsg6yCXLIse4/PjZ7qjMUUOxdQonjFg00N2iUh9f2C0niYW2H/9lGJvVguamOqTRxLMVoDc2aM1O/BnrgYboTiyisptn2D@IUhkLI1fknfLeGuMAlQNRcyGB1Pw "C (gcc) – Try It Online")
[Answer]
# [C# (Visual C# Interactive Compiler)](http://www.mono-project.com/docs/about-mono/releases/5.0.0/#csc), 123 bytes
```
Write("iPhone,3G,3GS,4,4S,5,5c,6,6 Plus,SE,7,7 Plus,8,8 Plus,X,XR,XS,XS Max,11,11 Pro,11 Pro Max".Replace(",","\niPhone "))
```
[Try it online!](https://tio.run/##Sy7WTS7O/P8/vCizJFVDKTMgIz8vVcfYHYiCdUx0TIJ1THVMk3XMdMwUAnJKi3WCXXXMdcwhbAsdCwgjQiciSCciGIgUfBMrdAwNgUghoCgfSoEElfSCUgtyEpOBdugAYUwexCYFJU3N//8B "C# (Visual C# Interactive Compiler) – Try It Online")
# [C# (Visual C# Interactive Compiler)](http://www.mono-project.com/docs/about-mono/releases/5.0.0/#csc), 131 chars, 154 bytes
```
foreach(var x in"ȔДȥ͖˶ଇ˷೷աଈ	ଉ\0΀Ƞਠ
ࡼၼ")WriteLine($"iPhone {x%16-1:0;X;.}"+" GS Max Pro Maxs PluscSER".Substring(x/16%32,x>>9));
```
Though it isn't the shortest, I invested quite a lot of effort and it would be a shame to just toss it all away.
Note: There is a null byte in the string, but I can't copy-paste it so it's represented by `\0` in the code.
[Try it online!](https://tio.run/##AaUAWv9jcy1jc2n//2ZvcmVhY2godmFyIHggaW4iAciU0JQFyKUGzZbLtgfgrIfLt@Czt9WhCOCsiAngrIlcMM6AyKDgqKAM4KG84YG8IilXcml0ZUxpbmUoJCJpUGhvbmUge3glMTYtMTowO1g7Ln0iKyIgR1MgTWF4IFBybyBNYXhzIFBsdXNjU0VSIi5TdWJzdHJpbmcoeC8xNiUzMix4Pj45KSk7//8 "C# (Visual C# Interactive Compiler) – Try It Online")
[Answer]
# [Pyth](https://github.com/isaacg1/pyth), 103 bytes
```
j"
iPhone "[kk"3G""3GS"4"4S"5"5s""5c"6+6J" Plus"="6s"+GJ"SE"7+7J8+8~J" Max"\X"XR"K"XS"+KJ11="11 Pro"+bJ
```
Today I learned about the `~`.
[Try it online!](https://tio.run/##Dcm7CsIwAEDR3a8Idw0OwSbt0lEKKUIwS0AXX9BaaYqpoIufbuxwpjN95i7nO6vedXG8CQ7DwKZh4SkoPBqdQF8w0liEe7wSNSYhG4vfUsrSVrL6Lrc7vTkGwp6W4JGtVapGKeGeEXm2Of/iNPdxTHl9/QM "Pyth – Try It Online")
]