What you have drawn is the right approach.
The audio sample doesn't tell us what the noise level is like relative to the signal - music for example. Your phone may have automatic gain control (AGC) which is boosting the volume a large amount during the quiet periods.
- See if you can turn this off and what the result is.
- If you can't turn it off then try recording some beeps (like the BBC time signal, for example) and see if the noise level "ducks" down and creeps back up in the quiet periods. If it does AGC is your problem.
According to Disable AGC and highpass filter on IOS:
iOS has automatic gain control and a high pass filter on the mic input. You may want to disable this if doing an audio app.
Adding this to the iOSAudioIODevice will disable it.
setSessionUInt32Property(kAudioSessionProperty_Mode, kAudioSessionMode_Measurement);
And this will re-enable it.
setSessionUInt32Property(kAudioSessionProperty_Mode, kAudioSessionMode_Default);
I know little about iOS. I accidentally touched an iPhone once.

Figure 1. iOS uses the pinout on the left.
Make sure you have line and ground the correct way around.
Line output levels
Apple discussions says the MacBook Pro audio out is as follows:
Line/Headphone Output
During playback of a 1 kHz, full-scale sine wave (44.1 kHz output sample rate, 24-bit sample depth, 100 kΩ load, unless otherwise specified) the audio line output has the following nominal specifications:
- Jack type: 3.5 mm stereo
- Maximum output voltage: 2 VRMS (+8.24 dBu)
- Output impedance: < 24 Ω
Note: For best results, equipment plugged into the line/headphone output jack should not connect the audio ground to other grounds, such as the chassis or “green-wire” ground.
Meanwhile the UR22 user manual page 17 says:
LINE OUTPUT 1/L 2/R (Impedance balanced)
- Maximum Output Level +10dBu
- Output Impedance 150 Ω
On the face of it these look fairly similar.