つばくろぐ @takamii228

知は力なり

2021年の振り返り的な何か

今年もやる。去年のはこちら。 takamii.hatenablog.com 2021年にできたこと iOS、Androidアプリ開発の理解が深まった 2021年度もクライアントアプリ側を一式見る仕事を続けた。 iOSの証明書周りの細かいところも理解が深まった。細かい発見ネタはいくつかブ…

2021年にお金を払ったサービス一覧

2021年にお金を払ったサービスの一覧をまとめた。光熱費は除きます。 2020年版はこちら takamii.hatenablog.com 新規に契約したもの Netflix 1490円 / 月 自粛生活で見たい動画があったので契約した。ででーん。 TOHOシネマズシネマイレージ会員 300円 / 年 …

macOSにインストール済みのプロビジョニングプロファイルの情報を確認する

Apple Developer Programで発行したプロビジョニングプロファイル(*.mobileprovisionのファイル)はXcode経由だったりファイル自体のダブルクリックでmacOS端末へインストールされ、ipaファイル作成のときに利用されます。 今回、複数のプロビジョニングプ…

ネイティブアプリをCLIでVisual Studio App Centerにアップロードする

以前Visual Studio App Centerを使って継続的にアプリ配信を行う記事を公開していました。 takamii.hatenablog.com こちらの記事で紹介していたアップロード方法に変更があったようなので修正記事を公開します。 アップロードに失敗する 以前紹介したcurlで…

LinuxからApp Store Connectへipaファイルをアップロードする

以前Windowsからipaファイルをアップロードする方法を検証したので、Linuxでもやってみることにします。 takamii.hatenablog.com 検証環境 今回もTransporterのCLIを使います。 help.apple.com 必要となる環境の要件は以下の通りです。 System and network r…

macOSで開発環境を構築するときにやっていること

最近macOSを初期化して再構築する機会が多々あるので、手順をここにまとめておくことにします。 初期化前にすること 初期化前にmacOSの最新化をしておきます。 OSのソフトウェア・アップデート画面からなぜかアップデートできない場合はApp Store経由でアッ…

ISUCON11に参加した #isucon

今年もISUCONに元同僚の id:int128 先生と id:translucens 先生と gosoudan3というチームで参加してきました。 昨年のブログはこちら。 takamii.hatenablog.com 今年は事前準備で以下の目標を立てました。 今年は150位くらいを目標 サーバーのリソースを有効…

AWS Certified Solution Architect Professional合格体験記

先日AWSのSolution Architect Professionalに無事一発合格したので合格体験記をメモしておきます。 AWS Solution Architect Professionalとは AWSのSolution Architectのプロフェッショナル資格で、試験時間が3時間というかなりタフな試験です。 aws.amazon.…

flutter build ipaコマンドを使ってみた

flutter 2.0からflutter build ipaコマンドが利用できるようになったそうなので今更ながら試してみました。 1.22以前のipaのビルド方法 flutterの1.22以前の場合はflutter build iosコマンドを実行後に、xcodebuildコマンドでarchiveビルドを実行してexport …

Firebase App DistributionがApp Bundleに対応したらしいので試してみた(失敗)

先日のGoogle I/OでFirebase App DistributionでのAndoirdアプリの配信でApp Bundle形式での配信に対応したとの発表がありました。今まではapkファイル形式での配信に限られていました。 firebase.googleblog.com ちなみにApp Bundleへの対応は2021年の8月以…

AndroidのCIパイプラインでAndroid StudioのJDKを使う

AndroidのCIパイプラインでgradleタスク実行する場合にはJDKが必要になります。 Android Studio経由でgradleタスク実行する場合はAndroid Studioに内包されたJDKが用いられます。 一方でmacOSのTerminalでプロジェクト作成時にimportされるgralde wrapper経…

iOSアプリ開発を自習したい人が見るとよさそうなコンテンツをまとめてみた

以前Androidの学習コンテンツについてまとめましたが、今回はそのiOS版について少し見通しがたったのでまとめてみることにします。 takamii.hatenablog.com macOS端末とiOS端末を用意する iOSのアプリ開発はXcodeという開発キットを利用します。このXcodeはm…

APNsのルート証明書更新の影響について調査する方法を調べてみた

先月Apple Developer Newsの中でAPNs(Apple Push Notification service)のサーバー証明書更新のお知らせが来ていました。 developer.apple.com どうやらPush通知依頼のリクエストを受けるAPNsのエンドポイントのルート証明書を2021/3/29にGeoTrust Global …

Jenkinsのビルドエージェントとしてmac miniを設定する手順をまとめた

ここ最近はGitLab CIにどっぷりだったのだけど、久しぶりにJenkinsでiOSのCI/CDを組む必要が出てきたのでmac miniをビルドエージェントに登録する手順をQIita記事にまとめました。 qiita.com 基本的な流れはGitLab CIと同じですね。JNLPという仕組みを使って…

「私の情報の集め方、知識の学び方」を書き直した

以前自分の情報収集のやり方について以下のブログにまとめていました。 takamii.hatenablog.com ここではGitPitchというサービスを使ってgithubのリポジトリにおいたmarkdownからスライドを生成していたのですが、このGitPitchが2021/3/1にサービスが終了す…

Firebase App Distributionを使って内部向けに継続的にネイティブアプリを配信する

はじめに ネイティブアプリの内部テストを円滑にすすめるために、Firebase App Distributionを使ってアプリを配信する仕組みを触る機会があったので手順をまとめておきます。 Visual Studio App Centerを使ったアプリ配信の仕組みについては以前まとめたこち…

2020年の振り返り的な何か

今年もやる。去年のはこちら。 takamii.hatenablog.com 2020年にできたこと iOS、Androidアプリ開発完全に理解した 仕事でiOS、Androoid、Flutter、React Native、React.js等々のクライアントアプリをメインで見るようになったので、いわゆるネイティブアプ…

2020年のキャッシュレス業を振り返る

社会人になってから実はコツコツ家計簿をつけていて、それに加えて一昨年からマネーフォワードMEを使い始めている。 takamii.hatenablog.com 最近はキャッシュレス還元ブームが浸透して、自分も支払いはQRコードやクレカなどの電子決済メインになってきてい…

2020年にお金を払ったサービス一覧

2020年にお金を払ったサービスのまとめの今年分をまとめました。 2019年版はこちら。 takamii.hatenablog.com 新規 Zoom 2200円 / 月 仕事で必要になったので課金し始めて、プライベートでも使うようになったのでそのまま課金している。年間契約にしようか悩…

WindowsからApp Store Connectにipaファイルをアップロードする

ipaファイルをApp Store Connectへアップロードする場合、Xcode上でAcrhive後にそのままアップロードする方法と、macOSアプリとして配布されているTransporter というアップローダーツールを使う方法があります。 TransporterAppleDeveloper ToolsFreeapps.a…

FlutterにおけるPluginとの付き合い方 #flutter

本記事は Flutter #1 Advent Calendar 2020 の12/13の記事です。 qiita.com Flutterでアプリ開発を行う時、 pub.dev で公開されているプラグインを使うことで特定の実装やネイティブ実装を代用することができます。 このときそのまま公開されているプラグイ…

App Store Connectアップロード時のipaファイルのvalidateをcliで実行する #iOS #flutter

本記事は主にFlutterの話題ですが、iOS向けの内容でFlutterを使っていなくても参考になると考えたため iOS #2 Advent Calendar 2020 として投稿しようと思います。 App Store Connetへのアップロード時のipaファイルのValidate XcodeでApp Storeの配布資材を…

形容詞の表現には具体性を持たせようという話

先日こんなツイートをした。 「〇〇にすれば安い」というフレーズに対してこういうコストの考え方が広まることはいいことだと思った。https://t.co/pqhO0A4eUK— takamii228 (@takamii228) 2020年11月26日 そもそも安いって形容詞なので(ry— takamii228 (@tak…

DevFest Tokyo 2020でFlutterのCI/CDについてLT発表した #DevFestJa #flutter

10/17、18に行われたDevFest Tokyo 2020にてLT発表を行いました。 tokyo.gdgjapan.org gdg-tokyo.connpass.com 発表内容はここ1年間主に取り組んでいたFlutterの仕事で試行錯誤したCI/CDパイプラインについてを5分にまとめました。 speakerdeck.com 内容の詳…

ISUCON10に参加した #isucon

先日行われたISUCON10に元同僚の id:int128 先生と id:translucens 先生と gosoudan2というチームで参加してきました。 isucon.net 事前準備 実はISUCON9に同じメンバーでgosoudanというチームで参加していて、このときは始めてだったので勝手が分からなかっ…

Androidを学びたい人はcodelabsを一通りやるといい

先日こんな記事が話題になっていた。 android-developers.googleblog.com ノンプログラマ向けのAndroidアプリ開発の学習コンテンツらしい。 早速やってみたら動画とcodelabs形式で起動してクリックイベントを拾って画面を切り替えるアプリが出来上がった。動…

iOSのPush通知でAPNsとの連携を証明書と認証キーでそれぞれやってみた

iOSアプリのPush通知を実現するには、APNs(Apple Push Notification Service)と連携する必要があります。この連携方式について調べてみたので備忘録としてまとめておきます。 APNsとの連携方式 APNsとの連携はPush通知を受け取るアプリケーションとの連携…

アプリケーションが依存するFWやライブラリからアップデート戦略を考える

最近はFlutterでiOS / Androidアプリ開発をしているのですが、ある程度の頻度でプラットフォームやライブラリのアップデートに追従していかないとあっという間に取り残されてしまう空気を感じています。 ネイティブのOSでいうとちょうど先日Android 11のBeta…

APKファイルとIPAファイルのバージョン情報をコマンドラインから確認する

apkファイルとipaファイルのバージョン情報をコマンドラインで確認する方法を備忘録として残しておきます。 apkとipaのバージョン情報について apkファイル及びipaファイルのバージョン情報は、ストア申請のときのバージョニング情報として利用されるもので…

Flutterで使うAPI関連のDartコードをSwagger/OpenAPIで自動生成する

はじめに Flutterの開発の中でSwagger/OpenAPIのYamlからコードを自動生成して使うことがあったのでまとめておきます。 Swagger/OpenAPIとは OpenAPIはREST APIの仕様を記述するフォーマットで、yaml形式で仕様を定義することができます。 2.0系と3.0系があ…