Takahiro Octopress Blog

-1から始める情弱プログラミング

iOS11から使える非常に便利な『setCustomSpacing』

| Comments

はじめに

UIStackView は様々なシーンで、 AutoLayout を飛躍的に使いやすくしてくれました。
一方で、まだまだ改善の余地ありと感じさせられるところも多く、部分的に困るiOSエンジニアもいたのではないかと思います。

例えば、
『同一スペースを持つ複数Viewをレイアウトする』のには、
UIStackView が非常に有効であるものの、
『一部異なるスペースを持った複数Viewをレイアウトする』には、
あまり向いているとは言えない
といったことなどです。

今回はiOS11から上記例が解消されたことを紹介したいと思います。

AutoLayoutの実例(1)

| Comments

はじめに

幾つか現場で経験してきた AutoLayout の実例を少しずつ書き留めておこうと思います。
AutoLayout がこれだけ当たり前にiOSに使われる世の中になったものの、実例交えて書かれている記事が少ないなと感じたためです。
(もちろん筆者の記憶に留めておきたい気持ちもあるからですが笑)

では、早速見ていきましょう。

今更だけど正しく身につけよう『Content Hugging Priority』と『Content Compression Resistance Priority』

| Comments

はじめに

今回は AutoLayout の中でもしっかりと知っておきたい以下2つを紹介します。

  • Content Hugging Priority
  • Content Compression Resistance Priority

上記2つを利用することで、各サイズでの想定されたデザインを再現することができます。

HackerRankで問題を解いてみよう!

| Comments

はじめに

さて、今回はHackerRankについて紹介したいと思います。
HackerRankとは求人サイトの一種で、問題を解くことで得点を稼ぐことができ、そのスコアでランキングを競うことのできるサイトです。
同様のサービスではpaizaも有名かと思います。
( 少し前はCodeIQといったサービスもありましたね。 )

HackerRankの特徴は、

  • 全世界のエンジニア対象(=ランキングは世界ランキングになる)
  • 問題文は全て英語で書かれている
  • 問題種別は Algorithms, Data Structures, Mathematics が用意されている

といったところでしょうか。

ReSwiftを勉強してみよう!(3) ~ 非同期通信処理の場合 ~

| Comments

はじめに

今回は久しぶりにReSwiftについて書きたいと思います。
これまで以下のように ReSwift について勉強してきました。

3回目の今回は非同期通信処理がある場合の ReSwift の利用方法について見ていきたいと思います。

FacebookのGraph API V3から分離されたuser_genderについて見てみる

| Comments

はじめに

最近、いろいろと個人情報の話が取り沙汰されていますが、Facebookが Graph API v3 を発表しましたね!
Facebookログインを利用して会員登録の簡略化をするなんて、今や当たり前の時代に、個人情報の保護強化のために情報取得のハードルが少々引き上げられました。

また、これまでFacebookログインを利用していたサービスはFacebookの再審査を受けることが義務化されました。
今回新たに審査が必要となる項目も追加され、Facebook社のより一層の個人情報強化の意志を感じさせますね。
因みに、新規にパーミションが必要となった項目は、

  • user_link
  • user_age_range
  • user_gender

の3つになります。
本記事では、中でも user_gender に焦点を当てて見ていきたいと思います。

iOSで気をつけるGoogle Places APIの使い分け

| Comments

はじめに

今回はPlaces API for iOSGoogle Places APIを使い分けた話です。

Google Places API はデバイスやOSに依らず用意されたAPIですが、 Places API for iOS はネーミングからも分かる通り iOS のために用意された API という位置づけになります。
通常であれば、「 Places API for iOS を使えば良いのでは?」と思われるかもしれませんが、
筆者がプロダクト開発時に実現したかった内容がたまたまそぐわなかったので Google Places API を利用するに至ったわけです。

では早速見ていきましょう。

Crashlyticsが作成するエラーファイルを見てみよう!

| Comments

はじめに

今回はFabricのメイン機能である Crashlytics について紹介したいと思います。
筆者が初めて Crashlytics を利用したのは、もう数年前になるでしょうか。
それこそ、当時は Fabric という名称ではなく、本当にただの Crashlytics というサービス名だったんですよね。

あの頃は、クラッシュレポートを溜める独自サービスが大量生産されていたのではないでしょうか?
そんな市場に風穴を開けたのが、 Crashlytics でした。
なんてったって、無料なんですから、使わない手はなかったわけです。
更に今や Firebase だったり、fastlane だったりと連携しちゃうわけですからね。

前置きはこのくらいにして、
今回は Crashlyticscrash()recordError() について少々調べたことを書き留めておきたいと思います。