iOS – 在仅IPv6networking上获取设备的DNS服务器地址

我正尝试在连接到iOS上的IPv6唯一networking时获取设备的DNS服务器地址。 以下代码适用于连接到IPv4networking但在IPv6networking上不起作用的情况。 来自这个答案的代码。

res_ninit(&_res); res_state res = &_res; for (int i=0; i < res->nscount; i++) { sa_family_t family = res->nsaddr_list[i].sin_family; if (family == AF_INET) { NSLog(@"IPv4"); char str[INET_ADDRSTRLEN]; // String representation of address inet_ntop(AF_INET, & (res->nsaddr_list[i].sin_addr.s_addr), str, INET_ADDRSTRLEN); } else if (family == AF_INET6) { NSLog(@"IPv6"); char address[INET6_ADDRSTRLEN]; // String representation of address inet_ntop(AF_INET6, &(res->nsaddr_list [i].sin_addr.s_addr), address, INET6_ADDRSTRLEN); } else { NSLog(@"Unspecified"); } } 

在IPv6networking中, sin_family总是AF_UNSPEC 。 任何build议/select?