Fix failure in net/quic/mobile:quic_udp_socket_test_ios

The iOS behavior of the IP_RECVTOS sockopt appears to have changed. The resulting cmsg is of type IP_RECVTOS instead of IP_TOS.

quic_udp_socket_test and quic_udp_socket_test_ios both now pass.

PiperOrigin-RevId: 583399990
diff --git a/quiche/quic/core/quic_udp_socket_posix.inc b/quiche/quic/core/quic_udp_socket_posix.inc
index 114b359..d6ec150 100644
--- a/quiche/quic/core/quic_udp_socket_posix.inc
+++ b/quiche/quic/core/quic_udp_socket_posix.inc
@@ -132,8 +132,13 @@
     return;
   }
 
+#if defined(__APPLE__)
+  if ((cmsg->cmsg_level == IPPROTO_IP && cmsg->cmsg_type == IP_RECVTOS) ||
+      (cmsg->cmsg_level == IPPROTO_IPV6 && cmsg->cmsg_type == IPV6_TCLASS)) {
+#else
   if ((cmsg->cmsg_level == IPPROTO_IP && cmsg->cmsg_type == IP_TOS) ||
       (cmsg->cmsg_level == IPPROTO_IPV6 && cmsg->cmsg_type == IPV6_TCLASS)) {
+#endif
     if (packet_info_interested.IsSet(QuicUdpPacketInfoBit::ECN)) {
       packet_info->SetEcnCodepoint(QuicEcnCodepoint(
           *(reinterpret_cast<uint8_t*>(CMSG_DATA(cmsg))) & kEcnMask));