WiFiアシストが有効になっているかどうかを確認しようとしています。一部のデータを取得するためにアクセスポイントに接続しているときに問題が発生しています。接続が不十分な場合、携帯データが使用され、アクセスポイントが干渉します。このオプションが有効になっているかどうかを確認する方法はありますか?iOS WiFiアシストが有効になっているか確認してください。
答えて
私は少し助けることができると思います。あなたがcheck SCNetworkReachabilityFlags
にする必要があります、私が思うに、フラグの特定の組み合わせになります。 WI-FIとCellularを使用していることを示すフラグの組み合わせをサポートするドキュメントを見つけることができませんでした。また、その設定を直接確認できるドキュメントも見つかりませんでした。
以前の経験に基づいて、Appleはおそらくあなたがその設定を直接確認する方法を持っていない可能性があります。
だから私たちを始めさせる少しのコードはありますか?
public enum InternetStatus {
case notReachable
case reachableViaWWAN
case reachableViaWiFi
case wifiAssist
}
あなたが選択した変数に変数を定義することができます。 (たぶんURLSession
?)
static public var internetStatus: InternetStatus {
var zeroAddress = sockaddr_in()
zeroAddress.sin_len = UInt8(MemoryLayout<sockaddr_in>.size)
zeroAddress.sin_family = sa_family_t(AF_INET)
guard let defaultRouteReachability = withUnsafePointer(to: &zeroAddress, {
$0.withMemoryRebound(to: sockaddr.self, capacity: 1) {
SCNetworkReachabilityCreateWithAddress(nil, $0)
}
}) else {
return .notReachable
}
var flags: SCNetworkReachabilityFlags = []
if flags.contains(.connectionOnDemand) {
print("Connection On Demand")
}
if flags.contains(.connectionAutomatic) {
print("Connection Automatic")
}
if flags.contains(.connectionOnTraffic) {
print("Connection On Traffic")
}
if flags.contains(.connectionRequired) {
print("Connection Required")
}
if flags.contains(.interventionRequired) {
print("Intervention Required")
}
if flags.contains(.isDirect) {
print("isDirect")
}
if flags.contains(.isLocalAddress) {
print("Local Address")
}
if flags.contains(.isWWAN) {
print("WWAN")
}
if flags.contains(.reachable) {
print("Reachable")
}
if flags.contains(.transientConnection) {
print("Transient Connection")
}
if !SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags) {
return .notReachable
}
if flags.contains(.reachable) == false {
// The target host is not reachable.
return .notReachable
}
else if flags.contains(.isWWAN) == true {
// WWAN connections are OK if the calling application is using the CFNetwork APIs.
return .reachableViaWWAN
}
else if flags.contains(.connectionRequired) == false {
// If the target host is reachable and no connection is required then we'll assume that you're on Wi-Fi...
return .reachableViaWiFi
}else if flags.contains(.connectionRequired) && flags.contains(.isWWAN) {
// Not sure here, maybe Wi-Fi assist is currently being utilized? Will need to test.
return .wifiAssist
}else if (flags.contains(.connectionOnDemand) == true || flags.contains(.connectionOnTraffic) == true) && flags.contains(.interventionRequired) == false {
// The connection is on-demand (or on-traffic) if the calling application is using the CFSocketStream or higher APIs and no [user] intervention is needed
return .reachableViaWiFi
}
else {
return .notReachable
}
}
トリックは、あなたがのWi-Fiを助ける知っていることは有効であるとフラグを観察設定でデバッグすることになります。それとも、私より賢くて、彼らが何であるかを知っているだけです。私が誰かが指摘した場合、私はこの回答を更新するか、正しいフラグの組み合わせを見つけます。
ありがとうございました。私のチームの誰かがこれをガイドとして使って何かを得ることができました。私はAppleがこれに関するいくつかの正式な指針を提供してくれることを願っていますその間に、レーダーの問題が提出されました。 –
@NicholasHart聞いてうれしい!コードを投稿したり、自分の投稿を編集したり、私に編集を送ったりして、完全な答えにすることができますか? –
- 1. iOSデバイストークンが有効かどうかを確認してください
- 2. プライバシー設定が高いIE11でクッキーが有効になっているか確認してください
- 3. どのようなcssホバー状態が有効になっているかを確認してください
- 4. デフォルトのadmin $共有がServerNameで有効になっていることを確認してください
- 5. iOS7でプッシュ通知が有効になっていることを確認してください
- 6. Pylonsアプリケーションでデバッグが有効になっているかどうか確認してください
- 7. BlackBerry gpsが有効になっているかどうか確認してください
- 8. 有効なファイル拡張子を確認してください
- 9. Moment.jsで有効なhh:mmフォーマットを確認してください
- 10. ラベルが入っているか確認してください
- 11. 端末でfacetimeが有効になっていることを確認してください。
- 12. 「Google Maps Android API v2」が有効になっていることを確認してください。
- 13. CredSSPがPowershellでリモートで有効になっていることを確認してください
- 14. 古いfacebookのアクセストークンが有効かどうか確認してください
- 15. URLがまだ有効か、永久に移動しているかを確認してください。
- 16. ワイルドカードリゾルバでドメインの有効性を確認してください
- 17. OracleDependencyの有効性を確認してください
- 18. サイトがAS3でオンラインになっているか確認してください
- 19. Javaソケットにデータが入っていないか確認してください
- 20. URLが有効かどうかを確認してください。
- 21. プログラム内でhddが有効かどうかを確認してください
- 22. URLがAndroidで有効かどうかを確認してください。
- 23. wifi/3gが有効になっているかどうかを確認するには?
- 24. BitmapDataが有効であることを確認してください
- 25. WooCommerce:クーポンが有効であることを確認してください
- 26. Emberがテストモードになっていることを確認してください
- 27. アップロードファイルがパスワードで保護されているか確認していないか確認してください。
- 28. Kohana_Exception [0]:GDがインストールされていないか、または有効になっていない場合、設定を確認してください
- 29. 他のプロファイルが有効になっていない場合は、Mavenプロファイルを有効にしてください。
- 30. JQueryチェックオンになっているチェックボックスにチェックが入っているか確認してください
あなたは無線LANを有効にするかどうかをチェックしたいですか? –
いいえ、設定 - >携帯電話 - > WiFiアシストのオプションが有効になっているかどうかを確認します。 – Flipper