Cara mendapatkan informasi jaringan terkini untuk antarmuka jaringan tertentu di iOS 13

Saya mencoba mengimplementasikan aplikasi yang menggunakan BSSID jaringan yang saat ini terhubung dengan pengguna di iOS 13.

Namun, dokumentasi Apple untuk CNCopyCurrentNetworkInfo di iOS 13 tidak jelas dalam persyaratannya untuk penggunaan API mereka.

Ini menyatakan sebagai berikut dalam uraiannya:

Aplikasi yang meminta harus memenuhi salah satu persyaratan berikut:

  • Aplikasi ini menggunakan Lokasi Inti, dan memiliki otorisasi pengguna untuk menggunakan informasi lokasi.

  • Aplikasi ini menggunakan NEOhotspotConfiguration API untuk mengonfigurasi jaringan Wi-Fi saat ini.

  • Aplikasi ini telah menginstal konfigurasi VPN aktif.

Hal ini sepertinya menunjukkan bahwa hanya perlu memenuhi satu dari 3 persyaratan yang tercantum di atas.

Namun, kemudian dinyatakan:

Aplikasi yang gagal memenuhi salah satu persyaratan di atas akan menerima nilai pengembalian berikut:

  • Aplikasi yang ditautkan ke iOS 12 atau versi lebih lama menerima kamus dengan nilai semu. Dalam hal ini, SSID-nya adalah Wi-Fi (atau WLAN di wilayah Tiongkok), dan BSSID-nya adalah 00:00:00:00:00:00.

  • Aplikasi yang ditautkan ke iOS 13 atau lebih baru menerima NULL.

Hal ini menunjukkan bahwa aplikasi harus memenuhi semua persyaratan di atas

Hal ini membuatnya sangat membingungkan mengenai persyaratannya, karena bagian pertama menyatakan bahwa Anda hanya perlu menerapkan salah satu dari ketiganya untuk mendapatkan BSSID, sedangkan bagian kedua menyatakan bahwa Anda tidak akan mendapatkannya jika Anda ketinggalan. pada salah satu dari tiga persyaratan.

Bantuan apa pun dalam hal ini akan sangat dihargai!


person Shinlos    schedule 24.09.2019    source sumber
comment
Bagi saya, Anda memerlukan izin Lokasi Inti DAN telah mengatur kemampuan akses informasi WiFi.   -  person MadProgrammer    schedule 24.09.2019
comment
Saya memiliki izin lokasi dan Kemampuan WiFi, namun SSID masih belum diambil. Apakah Anda berhasil mengambil SSID dengan Rilis iOS 13.0?   -  person Benny Davidovitz    schedule 24.09.2019
comment
@BennyDavidovitz Sejujurnya akan lebih masuk akal jika kita hanya perlu memenuhi setidaknya satu syarat untuk bekerja, dan ini dikuatkan saat membaca keynote. Saya mencoba memperbarui ke iOS 13.1 beta dan berfungsi kembali, jadi agak misterius apa yang salah dengan iOS 13.0   -  person Shinlos    schedule 24.09.2019
comment
@Shinlos mencoba berjalan pada rilis iOS 13. Saya tahu bahwa beta baik-baik saja. Anda dapat melihat di diskusi ini (github.com/HackingGate/iOS13-WiFi-Info /issues/7) bahwa saya bukanlah orang gila.   -  person Benny Davidovitz    schedule 24.09.2019
comment
PEMBARUAN: restart perangkat iOS menyelesaikannya (tidak hanya untuk saya)   -  person Benny Davidovitz    schedule 02.10.2019


Jawaban (2)


Kutipan kedua Anda mengatakan "apa saja", jadi Anda tidak yakin mengapa menurut Anda kutipan tersebut menyarankan "semua".

Sudahkah Anda mencobanya di 13.3 (17C54)?

Saya mengalami beberapa masalah dengan beberapa aplikasi. Saya mulai bertanya-tanya apakah ini adalah “selalu aktifkan lokasi” vs “hanya saat menggunakan aplikasi”.

person Sir Launcelot    schedule 12.12.2019

Tampaknya Anda tidak sendirian dalam masalah ini.

Menurut thread github di bawah, pengambilan SSID tampaknya bermasalah bahkan pada iOS versi terbaru (13.2.2).

Pada tautan di bawah, Anda akan menemukan bahwa Apple kemungkinan besar telah memperbaiki masalah ini di iOS 13.3, yang sekarang dalam versi beta. Saya sarankan kita semua mengujinya dan melihat apa hasilnya.

https://github.com/HackingGate/iOS13-WiFi-Info/issues/7

person iNF3Rnus    schedule 08.11.2019