LoginSignup
5
6

More than 5 years have passed since last update.

Reachability 4.2で何が変わったのか確認してみた

Last updated at Posted at 2015-11-22

サンプルコードでありながら、そのままコード変更なしで使われることも多いと思われるReachabilityについて、リビジョンが3.5から4.2に上がっていたので何が変わったのか確認してみました。

Minor bug fixes

Revision Historyを見てみると、2015/11/12付けで「Minor bug fixes」と書かれています。実際にはコードには下記が追加されています。

Core Foundationオブジェクトのリリース処理

Reachability.m(79-81行目)
        else {
            CFRelease(reachability);
        }
Reachability.m(101-103行目)
        else {
            CFRelease(reachability);
        }

viewDidLoadのsuper呼び出し処理

APLViewController.m(40行目)
    [super viewDidLoad];

Reachabilityそのものに関する実質的なバグフィックスとしては、
Core Foundation(SCNetworkReachabilityRef)オブジェクトのリリース処理が抜けていたので追加したということのようです。

Requirements iOS 8.0 or later

LaunchScreen.storyboardファイルが追加されています。起動画面としてstoryboard(xib)を使えるようになったのは、Xcode 6/iOS 8.0以降なので、RequirementsとしてiOS 8.0 or laterとなっているのでしょう。他にはReachability-Info.plistを確認すると、CFBundleIdentifierのvalueが$(PRODUCT_BUNDLE_IDENTIFIER)に変わっていたりします。

まとめ

すでにReachabilityを実質的なユーティリティクラスとして使っている場合、リビジョン3.5をベースにして使っていると思われるので、下記を理解しておけば十分かと思います。

  • リビジョン3.5から4.2において、Reachbilityクラス内部においてCore Foundationオブジェクト解放処理が追加された(バグフィックス)。
  • リビジョン3.5から4.2において、公開メソッドは変わっていない。Reachability.{h,m}ファイルを差し替えるだけでOK。
5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6