以下の内容を実施し、iPhoneのDNSサーバ情報を取得していますが取得できません。
iPhone6の実機で、iOSは10.3.1で、WiFi接続しています。
Debugで止めていますが、__res_9_state()の結果にDNSサーバ情報が何も入ってきません。
何が問題かわからず、困っております。ご教授願います。
また、他に現在のDNSサーバ情報を取得する方法があればご教授願います。
●ライブラリを追加
左上のプロジェクトアイコンを選択して「General」->「Linked Frameworks and Libraries」で「libresolv.9.tbd」を追加
●ヘッダ追加
< プロジェクト名>-Bridging-Header.h
swift3
1#include <resolv.h>
●コード追加
swift3
1let curDns = dnsServers() 2 3func dnsServers() -> [in_addr_t] { 4 var result = __res_9_state() 5 guard res_9_ninit(&result) == 0 else { return [] } 6 let sockets = result.nsaddr_list // note: nsaddr_list is a tuple, not an array 7 let addresses = [sockets.0.sin_addr.s_addr] 8 //let filtered = addresses.filter { $0 != nil } 9 return addresses 10}
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。