2020-01-01から1年間の記事一覧
Xcode12.1 + iOS14.1 の実機で、いつものごとく実機にアプリをインストールしようとすると何やら見覚えのあるエラーが、 〇〇 is not available. please reconnect the device Xcode11.xx 系では、iOS14 以降のペアリング暗号化の問題で、実機へのインストー…
今日はタイトルの通り、Swift でローカルプッシュを送信する方法を紹介したいと思います♀️ ちなみに、実装は Swift5.3 で動作確認は iOS14.1 で行っておりやす。 それではやっていく まずは、通知を送信できるようにするためにユーザに許可してもらう必要が…
先日、新規作成したアプリで試しにバリアントを release に設定し、ビルドしてみると下記のようなエラーが発生しました。 Error: The apk for your currently selected variant (app-release.apk) is not signed. Please specify a signing configuration fo…
App Store Connect のメタデータをローカルで編集後、アップロードしようとすると下記のようなエラーが発生していました $ bundle exec fastlane metadata ... The provided entity includes an attribute with a value that has already been used - The ve…
いつものごとくアプリの申請を出していたら、久しぶりにリジェクトされてしまいました 既存機能でのリジェクトだったので、Apple の方が休暇前に本気でレビューしてくれたんでしょうね 、、 Guideline 5.3.2 - Legal - Gaming, Gambling, and Lotteries Your…
最近、個人で開発しているアプリで Node.js を触ることが多いのですが、Javascript で非同期処理を扱う際の知識が不足しているので、この記事をきっかけに少しずつ勉強していこうかと思います♀️ ということでまずはタイトルの通り Promise について調べてい…
今日は Android Studio でアプリのランチャーアイコンを変更する方法を紹介したいと思います♀️ それではやっていく まずは,app ディレクトリを選択した状態で WindowメニューからFile/New/ImageAsset を選択します。 今回変更するのはランチャーアイコンな…
Firebase Functions での処理の結果を Slack に通知したいという場面があったので、僕が行った実装方法を紹介したいと思います それではやっていく まずは通知を知らせるためのアプリを作成し、OAuth Access Token を取得(今回は Bot を使用します)・通知を…
今日も短い内容ですが、Functions の Tips です やっていく 下記が product エイリアスに service_name.key_name の環境変数を設定する例になります♀️ $ firebase functions:config:set service_name.key_name="hogehoge" --project=product 確認する時は…
今回は、Fastlane でアプリの Version や Build Number を取得したい時の Tips を紹介します Version の取得 PlistBuddy を使用することで、Info.plist の値を操作しやすくすることができます。CFBundleShortVersionString はアプリのバージョンを指してい…
今日もすぐ終わってしまうネタですが、Fastlane の deliver で App Store Connect のメタデータをダウンロードする方法を紹介します♀️ docs.fastlane.tools やっていく まずは、スクリーンショットを fastlane/screenshots/ja にダウンロードしてきます。(…
今回はタイトルの通り、Firestore のコレクションデータを Algolia に一括でインポートする方法を紹介したいと思います♀️ Algolia とは? Algolia は、高機能な検索APIを提供する SaaS(Software as a Service) です。 Firestore は全文検索をサポートしてい…
先日、Kotlin で Firestore を用いて Collection を取得していると下記のような Error に遭遇しました 2020-12-13 11:42:44.547 22551-22551/com.YamatoOtaka.androidsample1 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.YamatoOtaka.androidsamp…
今回は3秒で終わってしまう記事ですが、Xcode でソースコードの再インデントを行う方法を紹介します♀️ やっていく この汚いインデントを extension Array { public subscript (safe index: Index) -> Element? { return indices.contains(index) ? self[ind…
機能に引き続き今日も3秒で終わってしまう記事ですが、タイトルの通りマージ済みのブランチを一括削除する方法を紹介します♀️ やっていく 下記のコマンドを実行することにより、develop ブランチ以外のマージ済みブランチはローカルから一括削除されます。 …
今回は、Kotlin を使って Realm にデータを保存。そして、Realm Studio で保存したデータ確認するまでの手順を紹介したいと思います♀️ それではやっていく 1.プロジェクトレベルの Gradle に下記を追加します。執筆時点では、10.0.1 が最新版でしたがアップ…
まえがき 本記事は、iOS Advent Calendar 2020 の16日目の記事です♀️ 詳細は Qiita の方で書いたので、よければそちらをご覧ください 年表 下記をご参照ください♂️ qiita.com あとがき 振り返って見るとAppleの技術進歩のスピードが恐ろしく早くて驚愕しま…
今日はタイトルの通り、Firebase Storage で JPEG ファイルを Swift でアップロードする方法を紹介したいと思います♀️ 使ったもの 今回の実装をする上で使用したものは下記になります。 Firebase/Storage 6.34.0 RxSwift 6.0.0-rc.1 Xcode12.0.1(Swift5.3) …
今回は RxSwift で Realm のデータ(Object) の更新を通知する方法を簡単に紹介します♀️ それではやっていく データの変更を通知するための Observable を返すメソッドは下記のようになります。Realm Object のインスタンスメソッド observe でデータの変更…
今回はタイトルの通り、Kotlin で Activity の画面遷移時にカスタムデータを渡す方法を紹介したいと思います それではやっていく まずは遷移先の Activity に渡すデータクラスを定義し、Serializable に準拠させます。 data class PlaceItemEntity(val nam…
今回は初学者向けに、Swift で NavigationBar の戻るボタンをカスタマイズする際のベストプラクティスを紹介したいと思います ちなみに今回のゴールは下記のようになります。 before after コード まず前提として覚えておく必要があるのは、戻るボタンは Im…
今回は、Android アプリの ActionBar を非表示にし、代わりに Toolbar をつける方法を紹介したいと思います まずは、ActionBar と Toolbar の違いをみていきましょう。 ActionBar ActionBar は、画面上部に位置するバーで、画面のタイトルや重要なアクショ…
1.まずは遷移先の Activity を新規に作成します。 2.次に AndroidManifest に遷移先の Activity を追加します。なお、遷移元の Activity は既に追加されているものとします。 application タグの中に、新しく activity タグを追加し、android:name で遷移先…
Github Projects とは? Github上の Issue や PR(Pull Request) などのタスクを整理して、プロジェクト単位でのロードマップや進捗状況などを明確化できるための Github の機能です。 Project を作成してみる 今回はチーム全体のタスク管理を行いたいので、O…
スタートアップなどでアプリを開発したことがある人なら誰しも一度はリテンションという言葉に触れたことがあると思います。 今日はそんなリテンションの概要や種類について簡単にまとめようと思います また、今回はアプリ開発をはじめとした IT 分野におけ…
今日は、タイトルの通り Firestore から取得したデータ(SnapShot)を DocumentID 付きのカスタムクラスに変換する方法を紹介します それではやっていく まずは、データをマップするクラスを作成します。以前の記事でも紹介したように、マップするクラスはデ…
個人で開発しているアプリで、CtoC の決済を実現するために Stripe Connect について少しだけ調べたのでまとめておきます♀️ (実際に利用したらまた記事書きます) アカウントのタイプ Stripe Connect を導入するにあたり、アカウントタイプというものをビジ…
みなさん Kotlin は書いていますか?僕は、最近仕事の合間などに少しずつ書くようにしています 今回はそんな、Kotlin の enum(列挙型) の基本的な使い方をみていきたいと思います。 余談ですが、毎日技術ブログを書いていると常時ネタ不足に陥るので、 iOS/…
みなさん、おはようございます。今年も Qiita Advent Calendar に申し込みましたが、ネタが無い Yamato です ということで、今回はタイトルの通り Firebase で Sign in with Apple を実装する手順を紹介していきたいと思います。 前提 iOS13 以上をアプリタ…
App Store Connect にバイナリをアップロードしようとしたところ、下記のようなエラーが発生していました🤷♀️ CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value under the iOS application <App Name> 原因 どうやら、</app>…