SwiftyEventsのSwift 2.2への対応 +α

自作のSwiftのライブラリ、SwiftyEventsSwift 2.2への対応を実施しました。

対応と言っても、

  • protocol内の"typealias"を"associatedtype"に置き換え 参考
  • テストコード内のインクリメント(++)を"+= 1"に置き換え 参考

に対応しただけでしたが。

Swift 2.2では非推奨の記述を用いていたとしてもWarningとなるだけで、ソースコードのビルド自体は可能です。
ただ、Swift 3.0では後方互換は切り捨てられるようなので、徐々に対応は必要だと思われます。参考


+αとして、Carthageで管理しているサードパーティーライブラリのXcode 7.3での利用について。

メジャーなライブラリはだいぶ対応が進んできてると思いますが、まだ対応していないライブラリをXcode 7.3で利用する場合。
CarthageにはPrebuildという機能があり、プレビルドされたバイナリがGithubに存在する場合は、自動的にそちらを利用するようになっています。
そのため、プレビルドがXcode 7.3より以前のバージョンでコンパイルされていた場合、Xcodeの新しいバージョンでリビルドするようにという警告が出て、アプリをビルドすることができません。
そのような場合、carthage update --no-use-binariesのように、--no-use-binariesフラグをつけて実行することでプレビルドを利用せずに、チェックアウトしたプロジェクトを手元でコンパイルしたバイナリを利用できるようになります。
Swift 2.2で非推奨になった記述を含んでいる場合はビルド時に幾つかのWarningが表示されますが、コンパイル自体は問題なく実行され、アプリケーションに組み込むことが可能となります。