Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > LawsonのWifiが6月1日からPCでも利用可能?+Wifi関連の記事

LawsonのWifiが6月1日からPCでも利用可能?+Wifi通信状態確認

今朝Lawsonに行くとレジの頭上に「6月1日からWifiが変わる!パソコンでも利用可能」とのPOPが!?

サンプル画像

Wi-Fiサービスが変わります 「LAWSON Wi-Fi」は、6月1日より外国人の方でも簡単に無料で使用できるWi-Fiサービス「LAWSON Free Wi-Fi」へリニューアルします。
① Wi-Fi接続方法が簡単に(ブラウザから接続が可能になります。※初回のみメールアドレス入力が必要
② 訪日外国人向けの対応 : 5ヶ国語(日/英/韓/中(繁)/中(簡))に対応しております。
PC/スマートフォンから接続可能
④ 引き続き無料での利用可能 : LAWSON Wi-Fiと同様に、店舗内で無料インターネット利用が可能です。
⑤ 訪日外国人向けフリーWi-Fiアプリ「Japan Connected-free Wi-Fi」でも接続いただけます。 「LAWSON Wi-Fi」は、6月1日より外国人の方でも簡単に無料で使用できるWi-Fiサービス「LAWSON Free Wi-Fi」へリニューアルします。

店員さんに 聞くと「いままではアプリ経由でスマホだけだったんですが、パソコンでもいけるみたいですね〜」とあまり興味がない感じで 答えをいただいたのですが、僕の中ではショッキング。嬉しさで内心ソワソワしておりました。

というのも以前はスタバで朝活を行っていた時はスタバの無料Wifiを利用していたのですが現状の朝活の場Lowson街カフェでは 無料Wifiがないので、iPhoneのデザリングで「遅いな〜」と思いつつ作業していたからです。国をあげてオリンピックまでにWifi設置の声をあげているので、 その流れでしょうか、プログラマーとしてはこの流れがとても有難いです、、、、もっと増えて欲しいです

どうか通信速度も気前良く速いように願いつつ、、、、

ということで、Wifiつながりとして、本日はWifiの通信状態を確認するを記事にしたいと思います!

参考:[サンプルコード付き]サクッとSwiftで通信状態を確認する
参考:Getting WiFi SSID on iOS in Swift
参考:Detecting Wifi or Bluetooth was turn off or on by user [closed]
参考:socket() で使用するアドレス・ファミリー・プロトコル
参考:SystemConfiguration Framework Reference SCNetworkReachability Reference
参考:How to check for local Wi-Fi (not just cellular connection) using iPhone SDK?
参考:SwiftでTCPサーバーを作ってみる
参考:ネットワーク処理が可能か調べる
参考:ネットワーク接続状況を知る
参考:Detecting if the wifi is enabled in swift

やってみた

こちらは上記Qiitaのg08m11様の記事を参考にさせていただいております。iOSの通信状態を確認、通信状態が悪い時はダイアログを表示するライブラリの説明です
IJReachability:サンプルコード(GitHub)

ソースコードが長くて困惑してしまいそうですので、興味がある方は上のソースから解析してみてください!実行すると、 Wifiが利用できる状態だと緑色、ネットワークが利用できないと赤色の様な感じになります。(モバイル接続の状態も認知可能)

サンプル画像 サンプル画像

処理のキモ部分をピックアップすると、、、、

  • sockaddr関連処理(sockaddr_in,sin_len,sin_family):ソケット接続処理。これでIPアドレスが取得できているかを調べているようです(AF_INET)。(低レベルな処理。詳しく知りたい人はこのあたりを見てください。SwiftでTCPサーバーを作ってみる)
  • SCNetworkReachability関連(SCNetworkReachabilityCreateWithAddress,SCNetworkReachabilityGetFlags):コネクションが利用できるかを判断するフレームワーク。 これらの処理を実施するにはIPアドレスが必要のようです、そのためにsockaddr処理が必要かと思われます。
  • SCNetwork関連処理(kSCNetworkFlagsReachable,kSCNetworkReachabilityFlagsIsWWAN,kSCNetworkFlagsConnectionRequired):上記処理の結果、こちらで接続可能か、WIFIを利用しているかを判断します。

接続先が通信可能かの簡単な処理をみつけたので、簡易版として共有しておきます。


import UIKit
import SystemConfiguration

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        println(isConnectionAvailble("swift-salaryman.com"));
        
    }
    func isConnectionAvailble(host_name:String)->Bool{
        
        var rechability = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, host_name).takeRetainedValue()
        var flags : SCNetworkReachabilityFlags = 0
        if SCNetworkReachabilityGetFlags(rechability, &flags) == 0{
            return false
        }
        let isReachable = (flags & UInt32(kSCNetworkFlagsReachable)) != 0
        let needsConnection = (flags & UInt32(kSCNetworkFlagsConnectionRequired)) != 0
        return (isReachable && !needsConnection)
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        
    }
}

swift-salaryman.comと接続できる場合はtrue,できない場合はfalseが返ります。

まとめ

Objective-Cのサンプルは多いですが、やはりまだSwiftは少ないですね!それにしてもローソンWifiが気になります。

次の記事(実際に6月に入ったので利用してみた)はこちらからです!

↓こんな記事もありますよ!

Backslashを忘れない

ショートカットキーで(\)を入力するには「optionキーを押しながら、¥キーを押す」で可能なのですが、 なにかと、あれ、、、なんだったっけ?と忘れる事が多かったので、バックスラッシュ拡大表示。

UIPageControlでペラペラめくるチュートリアル画面を作成する

UIPageControllでiOSアプリ初回起動時にのみ表示される, ペラペラめくるチュートリアル機能の説明です。プロジェクト作成時にPage-Basedを選ぶと作成することはできるのですが、既存のアプリに追加するには気がので、 既に作成したアプリに初回一回だけ表示するチュートリアルを解説します

ScrollViewで横スクロールしつつ2指でPinch Zoom

前回のScrollView記事ではスワイプするサンプルを記載しましたが、今回は横スクロールしつつ各ページでは二つ指によるズームの方法を検証します。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!