RxMoya + Codableで実現するリアクティブなAPIクライアント
Moya
最近MoyaというAPIクライアントを使っています。なかなか良さげで使い勝手も悪くありません。
github.com
Alamofireベースで作られており、Moyaを入れるだけでいい感じのAPIクライアントがすぐに手に入ります。
また、Rx拡張もされているのでRxSwiftなどとの相性も良いでしょう。
Codable
Swift4から使えるprotocolに「Codable」というのがあります。これを利用するとAPIから取得したデータ(JSON)のパースが非常に簡単に行なえます。
JSONとオブジェクトのマッピングにSwiftyJSONやObjectMapperなどのライブラリを使うことが多いですが、Codableを使えばもう必要ありません。
SketchでAuto Layoutを考慮したデザインが作成できるプラグインが便利すぎる
Auto Layout問題
iOSアプリを作成する際、なにかしらの方法でデザインをデザイナーから共有してもらうことがあります。
画像ファイルでもらったり、Sketchファイルでもらったり。
一部ではデザイナーがStoryboardを直接修正することも。
- Amazing workflow of UI design: "Zeplin"でデザイナーとエンジニアの連携をより簡単に!! iOS編
- #iosdc 2016 A-7 デザイナーにStoryboardをお任せする技術 - niwatakoのはてなブログ
- フリルのiOSアプリ開発におけるエンジニアとデザイナーの作業分担について - inFablic
デザイナーとのやりとりで一番ネックとなるのが画面サイズが変わったときのデザインです。
iPhone 7の大きさをベースとしたデザインを1枚いただいたとしても、どこを可変にしてどこを固定にするか曖昧です。別途なにかしらの形で可変な部分や固定する部分を指定してもらってもよいですが、なかなか手間ですよね。
全画面サイズのデザインを作っても良いですが、デザイナーの負担が増すばかり。
これらの問題を解決してくれるのがAuto Layout for Sketchというプラグイン。
※ちなみにFluid for Sketchというプラグインもあります。
iOSアプリエンジニアのための面接質問集100選
はじめに
こちらはiOS その2 Advent Calendar 2016の12月24日の記事です。
iOSアプリエンジニアが採用面接時に聞かれることってなんだろうと思い、ひねり出した100個の質問です。
ゼロベースで考えるのはさすがに困難だったので、以下に挙げられている記事をだいぶ参考にしました。
- https://github.com/MaximAbramchuck/awesome-interview-questions#ios
- https://github.com/MaximAbramchuck/awesome-interview-questions#objective-c
- https://github.com/MaximAbramchuck/awesome-interview-questions#swift
これらで紹介されているものは、実際にコードを見て応えるものもありますのでぜひご参考ください。
また、他の言語や環境に関する面接質問集も載っているので、興味のある方は覗いてみてはいかがでしょうか。
上記の参考文献をもとに、オリジナルも含めた面接質問集をジャンルごとに分けてまとめました。
Answerは自分自身の回答もありますし、それっぽいことを載せているものもあります。
詳細を書きすぎると長文になるので、できるだけ簡潔にまとめました。
質問に対して関連してそうな記事やサイトも載せていますのでご参考ください。
ただのiOSクイズになっちゃったなぁと感じてます……。
回答に大きな間違いがありましたら、こっそり教えてください。
iOS10対応でやろうと思っていることまとめ
はじめに
いよいよiOS10がリリースされます。iOSアプリ開発者のみなさんは、運営しているアプリを新iOSに対応させなければなりません。例年通りだと翌年の2月あたりに新iOSに対応していないアプリは審査に出すことすらできなくなります。早めに対応しておきましょう。
以下にiOS10対応でやろうと思っていることをまとめました。
iOS10対応って何をするの?
対応手順
まず「iOS10対応」についてですが、以下のような手順で対応します。
Xcode 8はまだ正式にはリリースされていません。iOS10のリリースと同時にアップデートがくるはずです。その時まで待っていてもよいですが、はやく対応したくてたまらない方はXcode 8 betaをインストールしましょう。先日書いた下記の記事も参考にしてみてください。
nsblogger.hatenablog.com
Build Settingsをチェック
Xcode 8でビルドする際に、「PROJECT」→「Build Settings」→「Base SDK」が「Latest iOS (iOS10.0)」になっていればOKです。この状態でビルドすればiOS10に対応したことになります。体感ですが、例年と比べるとすんなりビルドが通るのではないかと思います。
※Swiftでコードを書いている方は後述の「Swift 3.0に対応する」をご参考ください。
その他、iOS10で登場した新機能にも素早く対応しておくと、Appleに気に入られるかもしれません。
では、以下にiOS10対応で最低限やるべきことと、+αとして新機能への対応について紹介します。
iOSのBeta版を調査する上での心構え
新しいiOSが登場する
毎年6月にWWDCというApple主催の開発者向けカンファレンスが開催されます。最近の傾向では、WWDCで次期iOSの情報が公開され、同年の9月に新型iPhone発売と同時に一般公開されます。一般ユーザは次期iOSリリースまでワクワクテカテカしながら待っていればよいのですが、iOSアプリ開発者にとっては非常に重要な期間となります。次期iOSのBeta版が公開されるので、その影響調査をする必要があるのです。何から始めてどうすればよいのか、以下に紹介しますね。
iOSのBeta版について
次期iOSは夏前に開催されるWWDCにて発表され、その秋に一般公開されます。その間、Appleは開発者に向けて定期的にBeta版のリリースを行っています。
バージョン | 公開日 |
---|---|
iOS10 beta1 | 2016年06月14日 |
iOS10 beta2 | 2016年07月06日 |
iOS10 beta3 | 2016年07月19日 |
iOS10 beta4 | 2016年08月02日 |
iOS10 beta5 | 2016年08月10日 |
上記のように、だいたい2週間おきに次のバージョンが公開されます。正式リリースされる1週間ほど前にGM(Gold Master)版と呼ばれる最終Beta版が公開されます。
また、iOSのBeta版が新しくなると同時に、iOSアプリ開発に必要なIDE「Xcode」のBeta版も公開されます。iOSとXcodeはセットで新しくなります。
余談ですが、開発者向けに公開されるBeta版とは異なる「Public Beta版」と呼ばれるものも存在します。Beta版はApple Developer Programに参加しているユーザのみに提供されますが、Public Beta版は一般ユーザも利用可能です。Beta版より1周期ほど遅れての公開になりますが、次期iOSを一足早く試したい方はぜひ利用してみましょう。利用する前にバックアップは必須ですよ。