iOSエンジニアのつぶやき

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

【30C】 Firebase Local Emulator Suiteの序章

本日は、今まで全く触れたことのないFirebase Local Emulator Suiteについて、さらっと調べた概要をメモしておきます🔥

Firebase Local Emulator Suiteとは?

Firebase Local Emulator Suiteは、Firebaseで提供されている各機能をローカルでビルド及びテストするためのツールセットです。これにより、アプリを実際の環境で稼働させずに、プロトタイピングなどを行えるようになります。

f:id:yum_fishing:20210721085341p:plain

仕組み

Firebase Local Emulator Suiteは、本番環境(クラウドで動作する環境)を再現するために、Auth、Firestore、Functionsなどの各機能のビルドによって構成され、本番環境に影響を与えずにテストを行えるようになっています。

サポート

現状サポートされているプラットフォームとFirebaseの機能については、公式にわかりやすい表があったので、下記を参考にしてください。

f:id:yum_fishing:20210721085352p:plain

参照: https://firebase.google.com/docs/emulator-suite?hl=ja#feature-matrix

ついでに、クライアントSDKとAdminSDKの対応状況についても下記に追加しておきます。

f:id:yum_fishing:20210721085409p:plain

参照: https://firebase.google.com/docs/emulator-suite/install_and_configure?hl=ja#emulator_sdk_integrations

てな感じで本日は一旦ここまでで以上となります🍺

その他の記事

yamatooo.blog

yamatooo.blog

yamatooo.blog

【Swift】数値の0埋め

本日も初心者向けのSwiftの超小ネタです🏃‍♂️

数値を0埋めする

Stringのformatで下記のように0埋めすることができます。ちなみに0埋めする桁数は%03ddの前の数値をいじることで、変更できます。

let number = 3
let numberString = String(format: "%03d", number) // 003

てな感じで本日も以上となります🍺

その他の記事

yamatooo.blog

yamatooo.blog

yamatooo.blog

【30C】Firebase Predictionsとは?

本日は久しぶりに30分チャレンジをしてみたいと思います🏃‍♂️

今回のお題はFirebaseの「Firebase Predictions」についてです。それではやっていきましょっ

Firebase Predictionsとは?

Firebaseが提供する、ユーザセグメントを作成するための機能で、アプリなどで収集されたアナリティクスデータを元に未来のユーザの行動を予測し、ユーザセグメントを分けます。

なにができる?

  • Remote Config
    • ユーザの行動予測に対して、それぞれで異なる体験を提供できるようになります。例えば、ECアプリで自分のカートページを定期的に見そうなユーザに対して、購入を促すようなUIにカスタマイズしたりすることができます。
  • Notification Composer
    • 例えばアプリから長期間離脱しそうなユーザに対して、自動的に通知を送るなんてことができます。
  • In-App Messaging
    • 例えばリテンション率が低くなりそうなユーザに対して、アプリ内通知を表示するなんてことができます。
  • A/B Testing
    • A/B Testingでは、Notification ComposerやRemote Configなんかと組み合わせて使うことで、ユーザの行動予測ごとに効果のあるエクスペリエンスの検証が行えます。

firebase.google.com

という感じで時間になってしまったので、本日は一旦ここまでにします🍺

その他の記事

yamatooo.blog

yamatooo.blog

yamatooo.blog

【CSS】コンテンツを中央寄せで表示する

結論

下記のようにmargin0 autoをしてすることで、コンテンツの余白を均等に割り当てて表示することができます🔰

.container {
  margin: 0 auto;
}

てな感じで本日は以上となります 🍺

その他の記事

yamatooo.blog

yamatooo.blog

yamatooo.blog

AppStoreのリンクが長いと思ったあなたへ

アプリのAppStoreへのページをリンクを記事中に載せる時、長いと困りますよね? アプリ名に日本語が含まれている場合、下記のような長いリンクになってしまいます。

https://apps.apple.com/jp/app/fidee-%E9%87%A3%E3%82%8A%E3%81%AE%E4%BA%88%E7%B4%84%E3%82%92%E5%BF%AB%E9%81%A9%E3%81%AB/id1563534779?itsct=apps_box_link&itscg=30200

どうすればいいか

アプリごとに割り当てられるApple IDを使えば下記のようなスマートなリンクを生成することができます。

https://itunes.apple.com/jp/app/id{apple_id}

ちなみに、このApple IDApple Store ConnectのApp情報セクションから確認することができます。

f:id:yum_fishing:20210717154934p:plain

てな感じで本日も以上となります🍺

その他の記事

yamatooo.blog

yamatooo.blog

yamatooo.blog

【Xcode】ファイル内の特定の文字列を置き換えよう

皆さんこんにちは。最近ネタがなくて困っているYamatoです🐟

ということで、本日はXcodeを使いたての人に使って欲しい、ファイル内の文字列をリプレースする方法を紹介します。

やっていく

1.まずは、⌘Fでファインダーを開きます。

f:id:yum_fishing:20210716192235p:plain

2.左上のメニューから、replaceを選択します。

f:id:yum_fishing:20210716192300p:plain

3.すると下記のような表示になるので、置き換えたい文字列と置き換え後の文字列をそれぞれ選択します。

f:id:yum_fishing:20210716192529p:plain

f:id:yum_fishing:20210716192622p:plain

4.最後に選択範囲だけ置き換えしたい場合は、replaceを全て置き換えしたい場合はallを選択すれば完了です🎉

f:id:yum_fishing:20210716192928p:plain

てな感じで本日も以上となります🍺

その他の記事

yamatooo.blog

yamatooo.blog

yamatooo.blog

【Swift】UICollectionViewDiffableDataSourceでの同一値

UICollectionViewDiffableDataSourceを使ってみたところ、アイテムを表示する際の挙動が予想と違ったので軽くメモ👀

何が違ったのか?

複数のセクションで、値が同じアイテムを使うと、一方のセクションではそのアイテムが表示されなくなる。

例えば、セクションAとセクションBで、下記の.itemAをアイテムコレクションに含んでいた場合は、インデックスの早いセクションでは、.itemAが表示されなくなります。

enum ItemType: Hashable {
    case itemA
    case itemB
}

回避策

enumにAssociatedValueを追加して、それぞれのセクション毎にアイテムを取得するようにすることで、重複を防ぎアイテムを表示させることができます🐟

enum ItemType: Hashable {
    case itemA(section: Int)
    case itemB(section: Int)
}

てな感じで本日も以上となります🍺

その他の記事

yamatooo.blog

yamatooo.blog

yamatooo.blog