Apollo Clientでキャッシュをクリアする

ReactNativeでApollo Clientを使って開発していた。 ログアウト -> 別垢でログインというフローがあった時に前のアカウントで取得したキャッシュが残ってしまっており、適切でないデータを表示していた。なのでログアウト時にはキャッシュをクリアしたかった…

error: filename "ExpoModulesProvider.swift" used twice: ~ エラーが出たので対処した

Expo bare workflowを使って開発していた。dev, stg, prodで分けて開発したくなったのでその設定をしてビルドしたら Command CompileSwiftSources failed with a nonzero exit code ... error: filename "ExpoModulesProvider.swift" used twice: というエラ…

JSXでアロー関数にTSのジェネリクスを設定する

アロー関数で記述したコンポーネントにジェネリクスを定義したら JSX element 'T' has no corresponding closing tag. というエラーが出たので対処した。 const F = <T extends {}>() => {...}</t>

ExpoでreactDelegate' not found on object of type 'AppDelegate

Expoで開発をしていたら reactDelegate' not found on object of type 'AppDelegate' というエラーが出た。 ここにあるようにSDK44で対応しているものらしい。 そういえば自分は44でinitしたが、reanimatedがうまく動かなかったので43にダウンさせていた。お…

react-native-firebaseを使おうとしたらUse of undeclared identifier 'FIRApp' が出た。

ここにあるとおり、FB_SONARKIT_ENABLEDよりも上でimportしないといけない。 // before #if defined(FB_SONARKIT_ENABLED) && __has_include(<FlipperKit/FlipperClient.h>) ... #import <Firebase.h> // after #import <Firebase.h> #if defined(FB_SONARKIT_ENABLED) && __has_include(<FlipperKit/FlipperClient.h>) ...</flipperkit/flipperclient.h></firebase.h></firebase.h></flipperkit/flipperclient.h>

address already in useが出たので対処した

4000でGraphQLサーバーを立てようとしたら address already in use が出て起動できなかった。 解決法 lsof -i:4000 // プロセスの確認 kill 31979 // プロセスの停止

PrismaでThe provided value for the column is too longというエラーが出た

ORMにPrismaを使っていたら The provided value for the column is too long というエラーに遭遇した。 iosのサブスク課金のレシート検証に成功した際recieptを保存するようにしたのだが、このデータの保存のタイミングで起こった。 prisma.schemaは以下の感…

CloudFunctionsをセットアップしたらParsing error: Cannot read file ~ というエラーが出たので対処した

CloudFucntionsのセットアップでTSを使用するようにしたところ初手で Parsing error: Cannot read file ~ というTSエラーが出た。 どうやらtsconfig.jsonがルートに存在しないからっぽい。確かにfunctions/の中に存在している。 まず command + , で設定を開…

Undefined symbol: (extension in UIKit):__C.UIAction.init(title: Swift.String, image: __C.UIImage?, ~ 的なエラーが出た

ReactNativeのリリースビルドでタイトルのようなエラーが出て対処したのでメモ。デバッグビルドでは出なかった。 これはどうやらReactNative0.63.3で発生しているエラーっぽくて、自分もモロ0.63.3を使っていた。 使用しているわけではないが、このgithubに…

module map file '/Build/Products/Release-iphoneos/RNImageColors/RNImageColors.modulemap' not found 的なエラーが出た

ReactNativeのリリースビルド時にタイトルのようなエラーが出た。デバッグの時は出てない。 解決にはこのissueを参考にした。 # エラーが出た時のPodfile platform :ios, '10.0' ... # 修正後のPodfile platform :ios, '9.0' ... 変更後 pod install これで…

Multiple commands produce react-native-vector-icons/Fonts/AntDesign.ttf' ~ script phase “[CP] Copy Pods Resources”的なエラーが出た。

ReactNativeでタイトルのようなエラーが出たのを対処したのでメモ。 TARGETS -> Build Phases -> Copy Bundle Resorcesからエラー出てるファイルを全て - で削除する。

ReactNativeでFlipperを使おうとしたら 'event2/event-config.h' file not foundが出た

今までPodfileでflipperを無効にしていたのだが、使ってみたかったので有効にしたら'event2/event-config.h' file not foundというエラーが出たので対処法をメモ。 ReactNativeのバージョンは(古めだけど)0.63。 # エラーが出た時のPodfileのflipperの部分 u…

react-native-webviewでGoogleMapを表示する

ReactNativeでwebのGoogleMapを使う必要があったのでそのメモ。 セットアップ yarn add react-native-webview cd ios pod install // android/gradle.propertiesに以下2行追加 android.useAndroidX=true android.enableJetifier=true 使用 <WebView source={{ html: `<iframe src="<url>" width="100%" height="100%"></iframe>`, }} /> iframeを…

.gitignoreに追加したのに反映されないとき

.envや.env.devなどを作成し、間違えてそれらもpushしてしまったので.gitignoreに追加したが反映されず、なぜか再度pushされてしまっていた。 .gitignore .env .env.dev .env.prod .env.stg 原因は既にpushされてしまってたから。明示的に削除しないとダメっ…

(随時更新)ReactNativeでアプリ開発していく上でわからなかったandroidのシステムとかワードとか

RNでアプリを開発していくとネイティブ側をいじることもしばしばある。 そこでわからなかったandroid関連のものを自分用に簡潔にまとめとく。 gradle ビルドを管理するためのシステム 依存関係とか管理してくれる buildTypes ビルドする際の設定やタイプを管…

ReactNativeで環境ごとにデータを変更したりGoogleService-infoを切り替えたりできるようにする

ReactNativeでdev, stg, prod毎に環境変数のvalueやFirebaseを使用するために使うGoogleService-infoを簡単に切り替えられるようにしたかった。 今回は環境変数の管理はreact-native-configを使用する。 元々iOSのみのつもりだったためandroidは後付け 0 rea…

ReactNativeでFailed to apply plugin 'com.android.internal.application'. Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

androidでビルド時に Failed to apply plugin 'com.android.internal.application'. Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. が出て、 この辺のもできない場合、 ここにあるように11をbrewでインストールして設…

Herokuで再ビルド再デプロイしたい時

$ heroku plugins:install heroku-builds // インストールしてなかったら $ heroku builds:cancel $ heroku restart

graphql-codegenの実行で Invalid AST Node: ~ というエラーが出た

"graphql": "^16.0.0",での出来事。 "graphql": "^15.5.3",にしてから再度試すと通る。 原因は詳しく突き止めれてないので後で時間あったら確かめる。

Xcodeで Failed to launch process. Error returned in reply: Connection invalid が出た

palygroundを実行したら出現した。 シミュレータを全部消す。一旦Xcode全て終了。再度開いて実行で解決

Nextjsのセットアップでエラー2つ出たので対処した

npx create-next-appでNextjsを開始しようとしたら error nanoid@3.1.30: The engine "node" is incompatible with this module. Expected version "^12.22.0 || ^14.17.0 || >=16.0.0". Got "12.19.0" というエラーが出た。 シンプルにバージョンを nodenv…

IPとかサブネットとかCIDRで参考にした記事

https://www.cloudflare.com/ja-jp/learning/network-layer/what-is-a-subnet/ インターネット用語1分解説~CIDRとは~ - JPNIC CIDR(クラスレスアドレッシング)とは - IT用語辞典 e-Words

ECS, Fargateで立てたサーバーをPrismaでRDSにつなぐ

使用技術 TS, Node(Hapi), Prisma, ECS, Fargate, RDS(MySQL) 現在既にAWS上でサーバーが起動しているものとする。 index.ts import Hapi from "@hapi/hapi"; import { PrismaClient } from "@prisma/client"; const prisma = new PrismaClient(); const ini…

ECSからSystems Managerの値参照しようとしたらResourceInitializationErrorが出た

ECS, Fargateで起動させてたサーバーで環境変数が必要だったのでSystems Managerで定義してタスク定義のコンテナ追加の部分の環境変数でValueFromでそのSystems Managerの値を参照しようとしたら ResourceInitializationError ~ が出た。 タスク実行ロールに…

ECSとFargateとALBでNodeサーバーを立てる

Hapi製APIサーバーをDockerコンテナ化したのでAWS上で動かしたかったのでECS, Fargateを使いデプロイすることにした。その手順を書いていく。 index.js const Hapi = require("@hapi/hapi"); const init = async () => { const server = Hapi.server({ port:…

Hapiの公式チュートリアルに載ってるコードだとDockerでうまく動かない

https://hapi.dev/tutorials?lang=en_US ↑これに載ってる 'use strict'; const Hapi = require('@hapi/hapi'); const init = async () => { const server = Hapi.server({ port: 3000, host: 'localhost' }); await server.start(); console.log('Server run…

react-native-background-geolocationについてのあれこれをまとめてく(随時更新予定)

https://github.com/transistorsoft/react-native-background-geolocation を使っているのだが、機能が結構豊富だったり使い方が少し複雑に感じたので調べたこととか気づいたことをまとめてく。 既にある程度使っているのでセットアップから順にとかではない…

iOS, Firebase周りでのアプリ開発で調べた用語(随時更新予定)

Bundle ID アプリを一意に識別するためのもの。Appleのエコシステム。 Xcode -> General -> Bundle Identifier で確認可能。 Firebaseプロジェクト内でiOSアプリを作成するときに必要。あとで変更できないので注意。 https://firebase.google.com/docs/cloud…

TypeScriptのライブラリのinterfaceを拡張する

TypeScript + Nextで開発中、scriptタグを使う必要が出てきた。 (多分)バージョン11から import Script from 'next/script' を使ってScriptコンポーネント 使うようにしないと怒られる。 そこで <Script /> を使ったのだが、propsに渡す型でエラーでた。 import Scri…

TypeScriptのtypeとinterfaceの違う部分を少し見る

typeはエイリアスであり、いろんな型を表すことができる type A = number type B = number | string type C = { name: string age: number } interfaceはnumberとかnumber | stringのエイリアスは作れない type A = number // error type B = number | strin…