Xcode 7.3でweakポインターの扱いが変わった模様

注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。

これはSBJson 3.0.4 ((SBJsonとしては非ARCの最終バージョン、それ以降はARC対応)) を組み込んだプロジェクトをXcode 7.3でビルドしようとして組み込んだSBJsonのビルドが通らないという問題に直面したことで気づいたのだが、Xcode 7.3では地味にweakポインターの扱いが変わった模様である。

Xcode 7.2系までは非ARC環境でもweakポインター ((プロパティーではなく、ポインター。表記上は変数の型の前後のどちらかに__weakを追記する)) を指定しても問題なくビルドが通ったのだが、Xcode 7.3ではそれがどうやら文法違反になっている模様である。

対策としては、__weakを除去あるいはコメントアウト化で行けるのだが、そうした場合、動作的にどうなるのかは不明瞭という恐ろしい部分がある。であれば、いっその事、ARC対応に移行してしまった方が良いのかもしれない。とはいえ、非ARC環境からの移行は不測の事態をもたらす可能性があるため、デバッグは念入りに行わなければならないという問題はあるが・・・。

Xcode 7.2系からXcode 7.3の変更点は小さいだろうと慢心した結果がこれというわけだったが、対処事態はそれほど難しくなかったのが幸いだったといったところか。

タイトルとURLをコピーしました