読者です 読者をやめる 読者になる 読者になる

アニマネ開発日誌

アニメアプリのアニマネの開発日誌です。

iOS 8のサポートを廃止したら使いたい、iOS 9の新API

随分久しぶりの投稿となりましたが、個人的に使いたいiOS 9以降で使えるAPIをピックアップしました。

アニマネのiOS版は基本的に最新と一つ前のバージョンをサポートしていて、 バージョンごとに分岐するコードは極力使わない方針で開発しています。

iOS 10がリリースされたばかりですが、新OSよりiOS 8以降のサポートを切れることの方が嬉しかったりします。

というわけで今まで使わなかったけど、これから使っていきたいAPIを書いてみます。

UIStackView

Androidで言うところのLinearLayoutです。 iOSのStoryBoardでは横並びのレイアウトが面倒だったのですが、UIStackViewを使うと楽になります。

さらに嬉しいのが、子Viewをhiddenにした時に間を詰めてくれます。 Androidはその辺楽なのですが、iOSの場合は確保していた領域が残るので高さを0にしたりしてました。

iOS 8のサポートを切ることで積極的に使っていけます。

NSLayoutAnchor

コードでAutoLayoutを制御するのが凄く楽になります。 実例は下記が詳しいです。

AutoLayout登場初期の呪文のようなコードからすればかなり分かりやすいです。

Storyboard Reference

Storyboard Referenceの一種である、Relationship SegueがiOS 9から使えるようになります。

iOS 8ではTabBarControllerやNavigationControllerの子ViewControllerにStoryboard Referenceは使えなかったのですが、 iOS 9からは使えるようになるため、StoryBoardの整理がより一層進みます。

SFSafariViewController

既にアニマネでは部分的にiOS 9向けにSFSafariViewControllerを導入していますが、 そろそろアプリ内ブラウザはSFSafariViewControllerでもいいかなと思っています。

エッジスワイプで戻れるようになったし、Cookieが共通で使えるSFSafariViewControllerの方がユーザーには便利かと。

String Transform

文字種を変換できるAPIで、ひらがなをカタカナに、全角を半角とかできるようです。

精度は未確認ですが、文字列の正規化などに利用できそうです。

ReplayKit

画面録画機能を提供するAPIです。

アニマネでは今のところ使いみちがないのですが、 ゲーム系ならプレイ動画をSNSでシェアしてもらったりとなかなか有用なAPIと思います。

参考

今回の記事を作成するにあたり、下記をとても参考にしました。 ここには記載していないものも多く書かれているので、ぜひ参考にしてみてください。

近況

本業が忙しくてしばらくアプリ開発から遠ざかっていたのですが、 最近は少しずつ進められるようになりました。

現在iOS版アニマネの大幅な更新と、Xcode8とSwift3への対応中です。

冬までには何とかリリースしたいなあという感じで進めています。