iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

初学者応援

【Swift】@testableには何の意味がある?

本日もSwift初学者向けの小ネタになります‍♂️ @testable import は何をやっている? @testable importはインポートしたモジュールのinternalアクセスレベル以下の関数にアクセスできるようにする機能です。通常は、別モジュールからinternalレベルの関数など…

iOS アプリのライフサイクルを理解しよう

今回は iOS アプリがどのようなライフサイクルで動いているのかを簡単にまとめて行きたいと思います。なんとなくボヤッとした感じでライフサイクルを認識していた人はぜひ目を通してみてください アプリの状態 状態 内容 Not running アプリは開始されていま…

異なる階層の View の座標を取得しよう

今回も初学者向けに階層の異なる特定の View の座標を取得したい時に使用する convert() 関数の使い方を簡単に説明していきたいと思います。 実際に使ってみる‍ 下記のような階層の View を参考に convert() メソッドを使って見て座標を取得してみます。 緑…

Swift で上限・下限を設定した数値を取得しよう

今回は初学者向けに上限・下限値を設けた値の取得が便利にできる max・min 関数を紹介したいと思います。 max max() 関数は指定された引数の中で最も大きい値を返します。つまり、これ以上小さくしたくないという値を引数に含めることで下限を設定して値を取…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day4【Codelabs 1-3編】

前回のコードラボに続き、今回は01.3のコードラボを学習していきたいと思います。 前回の記事 yamato8010.hatenablog.com 学ぶこと アプリのリソースにファイルを追加する方法 アプリのレイアウトで画像を使用する方法 アプリのコードで View をより効率的に…

Xib で View を生成する時に知っておくといいこと

先日、うっかり ViewClass で指定した Xib で作成したカスタムビューのプロパティにアクセスし下記のように Error を出してしまいました。初心者の頃はよく分からずググったものコピペ なりで回避していましたが、そもそも何故これが Error になるのかを今回…

Error: Command PhaseScriptExecution failed with a nonzero exit code の対処方法

Carthage でライブラリをインストールしたり、アップデートしたりした後に、Branch をチャックアウトするとためにこのような Error が発生することがあります。このような場合は、Finder の情報を持つ拡張属性をし、Clean しビルドし直すと正常にビルドが成…

Swift で map, compactMap, flatMap を使いこなそう

今回は初学者向けに、Swift からプログラミング言語を学び始めた人が必ずいだく map・compactMap・flatMap の違いについて簡単に解説をしていきたいと思います。また、これらの関数は積極的に使っていくことで状況に応じた使い分けなどがうまくできるように…

ちょこっと StackView のパフォーマンスを気にしてあげる

今回は StackView で限定された数のリストを繰り返し更新して表示する際に、ちょこっとパフォーマンスが良くなる方法を紹介したいと思います。 UITableViewCell に StackView を持っている時の実装を行っていきます。 @IBOutlet private weak var stackView:…

Swift で日本語を含む URL を扱う

日本語を含む文字列を URL に変換する時に値が nil になることがあると思います。これは、URI において使用できない文字列を URL として変換しようとしている時に発生します。Google などの検索バーでは、このような使用できない文字列を自動でパーセントエ…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day2【Codelabs 1-1編】

今後の学習の方針として、Google が提供している Android アプリ作成のチュートリアルである Codelabs を使用して勉強していきたいと思います。このサイトは基本的には英語でのチュートリアルとなっているので、日本語に直したもの + 自分なりのコメント、ま…

Carthage Error: Falling back to building from the source の対処法

Cartahge Update Error UIWebView の除去作業をする過程で久しぶりに RxSwift のバイナリをアップデートする必要があったので、 いつもの通り carthage update --use-ssh RxSwift --platform ios のような形でアップデートすると こんな Error が出ました。 …

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day1【とりあえずコード書いてみる編】

この記事でできるもの Kotlin を Mac でとりあえず動かすための環境構築ができる Kotlin を使ってコンソールに文字を出力できる Kotlin を使った基本的な構文がちょっとわかる 手順 JDK(Java Development Kit)のインストール Kotlin のプログラムを実行する…

FirebaseCloudFunctions + FirebaseCloudMessaging でプッシュ通知を送ってみる

この記事でできるようになるもの $ curl -X POST https://your-functions-url/push?device_token=your-device-token -d "message=I love fishing" のようなリクエストをターミナルで叩けば下記のようなプッシュ通知を送信できるようになります。 事前準備 Fi…

Swift6行で UIView を UIImage に変換してサクッと画像を保存してみる

この記事でできるもの 下記のように特定の View(赤枠の UIView) を UIImage に変換して、フォトライブラリーに保存できるようになります。 どうやるの? UIView から UIImage を取得できる Extension Property を追加する 取得した画像をフォトライブラリー…