プログラミング
久しぶりに Cloud Functions のコンソール画面を開いたら下記のような警告が来ていました。どうやら Node.js 8 が非推奨になり2021年の3月中旬には全面的にサポートされなくなるとのことなので、Node.js 10 へ移行します。 Cloud Functions を新しい Node.js…
Bitcode とは? iOS9から導入された技術で LLVM の中間言語のことを指します。以前まではコンパイルが完了しているものを Apple に提出していましたが、Bitcode を用いることで Apple 側で最適化してコンパイルを行えるようになります。 Bitcode を用いたく…
Cloud Firestore とは? 高速でサーバレスなクラウド NoSQL ドキュメントデータベースです。Firebase Realtime Database と同様にスキーマレスかつリアルタイムにデータを監視することができます。 公式ドキュメント https://cloud.google.com/firestore/doc…
なぜ? AppStoreConnect にバイナリをアップロードすると Apple からこんなメールが届きました。 Dear Developer, We identified one or more issues with a recent delivery for your app, "XXXXX" X.X.X (XXXX). Your delivery was successful, but you ma…
起きたこと UILabel の attributedText を nil (リセット) にしてもラベルのスタイルが変わらないという現象が発生していました。 TL;DR 原因 UILabel の attributedText の値が nil(リセット)になった場合、通常(iOS12以前)は Label の attributes もリセッ…
この記事でできるもの Kotlin を Mac でとりあえず動かすための環境構築ができる Kotlin を使ってコンソールに文字を出力できる Kotlin を使った基本的な構文がちょっとわかる 手順 JDK(Java Development Kit)のインストール Kotlin のプログラムを実行する…
この記事でできるようになるもの $ curl -X POST https://your-functions-url/push?device_token=your-device-token -d "message=I love fishing" のようなリクエストをターミナルで叩けば下記のようなプッシュ通知を送信できるようになります。 事前準備 Fi…
ルール一覧 SwiftFormat の Rules 一覧を日本語でまとめました。 andOperator if, guard, whileの条件分岐の際の条件式で && を使う場合はカンマを使うようにする。 サンプル - if true && true { + if true, true { anyObjectProtocol プロトコルの定義で、…
SwiftFormatとは? SwiftFormat は MacOS または Linux で Swift コードを再フォーマットするためにコマンドラインツールです。 なぜ使うのか? プロジェクトをチームで行う際にコーディングスタイルを統一することで、コードの見やすさや・追いやす さが向…
この記事でできるもの 下記のように特定の View(赤枠の UIView) を UIImage に変換して、フォトライブラリーに保存できるようになります。 どうやるの? UIView から UIImage を取得できる Extension Property を追加する 取得した画像をフォトライブラリー…
この記事でできるもの どうやるの? 動画を再生する方法は現在だと、3つ方法があります。この他にも MPMoviePlayerController が ありますが、iOS9以降は Deprecated です。今回はこの内の AVPlayer を使った実装を行っていき ます。 AVPlayerViewControlle…
この記事でできるもの 下記のキャプチャのようにアプリからインスタグラムのフィードへのシェア導線をつけることができるようになります。 どうやって実装するのか? 結論だけパッとまとめると今回の実装方法は下記の三点セットです。簡単! アプリでインス…
intrinsicContentSizeとは何者なのか? AutoLayout を使用した時に表示されるある View の最低サイズ UIView の iOS6 以降から使用可能なプロパティ いつ使うのか? 通常はその View の最低サイズを読み取る際に使用されますが、AutoLayout で設定される Vie…