NSBlogger

意識高いブログ

iOSアプリ新規開発のノウハウ

今年でAdvent Calendarに参加するのは3年目。

今年は新規アプリ開発についてです。

iOSアプリの新規開発

仕事で何度か新規でiOSアプリを開発することがありました。チームやそのときの状況に応じて柔軟に対応するのがベストですが、その中でもやっておいてよかったなぁと感じたことについて紹介します。

iOSアプリの開発以外でも応用できる内容かも。

続きを読む

iOS11およびiPhone X対応でやろうと思っていることまとめ

圧倒的な進化、驚異的な飛躍

f:id:Kamekiti:20170920231801p:plain

ついにiOS11がリリースされましたね。例年のごとくiOSアプリ開発者はiOS11への対応をしなければなりません。 Swift 4も同梱されているのでそちらの対応もちらほら。そして今年はiPhone X対応という特典付き!

iOS11へのアップデートで変化が大きかった点を以下にまとめたのでご参考ください。

続きを読む

RxMoya + Codableで実現するリアクティブなAPIクライアント

Moya

最近MoyaというAPIクライアントを使っています。なかなか良さげで使い勝手も悪くありません。
github.com

Alamofireベースで作られており、Moyaを入れるだけでいい感じのAPIクライアントがすぐに手に入ります。
また、Rx拡張もされているのでRxSwiftなどとの相性も良いでしょう。

Codable

Swift4から使えるprotocolに「Codable」というのがあります。これを利用するとAPIから取得したデータ(JSON)のパースが非常に簡単に行なえます。

JSONとオブジェクトのマッピングSwiftyJSONObjectMapperなどのライブラリを使うことが多いですが、Codableを使えばもう必要ありません。

続きを読む

SketchでAuto Layoutを考慮したデザインが作成できるプラグインが便利すぎる

f:id:Kamekiti:20170103162213j:plain

Auto Layout問題

iOSアプリを作成する際、なにかしらの方法でデザインをデザイナーから共有してもらうことがあります。
画像ファイルでもらったり、Sketchファイルでもらったり。
一部ではデザイナーがStoryboardを直接修正することも。

デザイナーとのやりとりで一番ネックとなるのが画面サイズが変わったときのデザインです。
iPhone 7の大きさをベースとしたデザインを1枚いただいたとしても、どこを可変にしてどこを固定にするか曖昧です。別途なにかしらの形で可変な部分や固定する部分を指定してもらってもよいですが、なかなか手間ですよね。
全画面サイズのデザインを作っても良いですが、デザイナーの負担が増すばかり。
これらの問題を解決してくれるのがAuto Layout for Sketchというプラグイン
※ちなみにFluid for Sketchというプラグインもあります。

続きを読む

iOSアプリエンジニアのための面接質問集100選

f:id:Kamekiti:20161224033950p:plain

はじめに

こちらはiOS その2 Advent Calendar 2016の12月24日の記事です。
iOSアプリエンジニアが採用面接時に聞かれることってなんだろうと思い、ひねり出した100個の質問です。
ゼロベースで考えるのはさすがに困難だったので、以下に挙げられている記事をだいぶ参考にしました。

これらで紹介されているものは、実際にコードを見て応えるものもありますのでぜひご参考ください。
また、他の言語や環境に関する面接質問集も載っているので、興味のある方は覗いてみてはいかがでしょうか。

上記の参考文献をもとに、オリジナルも含めた面接質問集をジャンルごとに分けてまとめました。
Answerは自分自身の回答もありますし、それっぽいことを載せているものもあります。
詳細を書きすぎると長文になるので、できるだけ簡潔にまとめました。
質問に対して関連してそうな記事やサイトも載せていますのでご参考ください。

ただのiOSクイズになっちゃったなぁと感じてます……。
回答に大きな間違いがありましたら、こっそり教えてください。

続きを読む

iOS10対応でやろうと思っていることまとめ

f:id:Kamekiti:20160911192718p:plain

はじめに

いよいよiOS10がリリースされます。iOSアプリ開発者のみなさんは、運営しているアプリを新iOSに対応させなければなりません。例年通りだと翌年の2月あたりに新iOSに対応していないアプリは審査に出すことすらできなくなります。早めに対応しておきましょう。
以下にiOS10対応でやろうと思っていることをまとめました。

iOS10対応って何をするの?

対応手順

まず「iOS10対応」についてですが、以下のような手順で対応します。

  1. Xcode 8をインストール
  2. 既存のプロジェクトをXcode 8で開く
  3. ビルドする
  4. エラーやクラッシュを修正する
  5. アプリをリリース

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に対応する」をご参考ください。
f:id:Kamekiti:20160911163330p:plain
その他、iOS10で登場した新機能にも素早く対応しておくと、Appleに気に入られるかもしれません。
では、以下にiOS10対応で最低限やるべきことと、+αとして新機能への対応について紹介します。

続きを読む

iOSのBeta版を調査する上での心構え

新しいiOSが登場する

f:id:Kamekiti:20160813112319j:plain
毎年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アプリ開発に必要なIDEXcode」のBeta版も公開されます。iOSXcodeはセットで新しくなります。

余談ですが、開発者向けに公開されるBeta版とは異なる「Public Beta版」と呼ばれるものも存在します。Beta版はApple Developer Programに参加しているユーザのみに提供されますが、Public Beta版は一般ユーザも利用可能です。Beta版より1周期ほど遅れての公開になりますが、次期iOSを一足早く試したい方はぜひ利用してみましょう。利用する前にバックアップは必須ですよ。

続きを読む