Xcode 8.3がリリースされたので早速移行してみました。すると、特定のプロジェクトで、nullabilityに関するワーニングが大量に表示されてしまいました。その対処方法です。
ワーニングが出たプロジェクト
Macアプリ用のプロジェクトで、バイナリは32ビット、Deployment TargetがOS X 10.8以降のものです。コードは、Objective-C, C++などの混在です。
ワーニング詳細
CoreGraphics/CoreGraphics.h
やCarbon/Carbon.h
をincludeすると、システムヘッダに対して警告が出ます。
例えば、CoreGraphics/CGColorSpace.h
で、次のように出ます。
Array parameter is missing a nullability type specifier (_Nonull, _Nullability, or _Null_unspecified)
対処方法
自分で書いているヘッダならば、nullability関連の定義を追加するなどすれば良いのですが、システムヘッダなので変更できません。
動作環境などの条件も変更できないので、今回は、このワーニングを無効にして、表示しないようにしました。
無効にするには、ビルド設定の「Apple LLVM 8.1 - Custom Compiler Flags」の「Other Warning Flags」に「-Wno-nullability-completeness
」を指定します。