『入る学科間違えた高専生』の日記

プログラミングのコードを書いたりする予定です。あとは日記等。あといつまで高専生やねん

iOS

iOS の Universal Links の謎挙動について

iOS

はじめに iOS をはじめとする Apple プラットフォームでは Universal Links が利用できます。この機能を使用することで、ウェブサイトとアプリを自然に連携させることができます。 しかしながら、この機能には今回紹介するような注意点があります。 それは、…

Python と iOS でパスキー認証の実装をする

はじめに 挙動デモ 実装サンプル 環境 流れ パスキー登録 パスキー認証 パスキーの登録 クライアントの実装 サーバサイドの実装 パスキーでの認証 クライアント実装 サーバサイド実装 最後に おまけ 参考 はじめに パスキー (Passkeys) の実装をサーバサイド…

App Clip 対応した NFC カードを自作した

はじめ デモ 材料 App Clip とは App Clip の実装 apple-app-site-association 対応 ローカル体験について NFC カードへの書き込み App Clip Code の作成 貼り付け用のデザインを用意 ソースコード 最後に はじめ 私「 App Clip 使っているか〜?」 みんな「…

サーバ証明書の内容を確認できる iOS アプリをリリースした

はじめに みなさんはサーバ証明書使っているでしょうか? 使ってない人はこのサイトを見ることはないでしょう。 iOS アプリでサーバ証明書を見る方法が無いような気がするので作りました。 CertsCheckYuya Oka開発ツール無料

CircleCI 上で fastlane match の認証を GitHub Personal Access Token で行う

はじめに CircleCI で fastlane match を実行するときに SSH による接続を使用する際には特に問題は発生しないが、 GitHub Personal Access Token (以下、 GitHub PAT )を使用する際に、正常に clone ができない現象に遭遇したのでその解決した方法とかを紹…

Sign in with Apple のトークン取り消しを実装してみた

この記事はフラー株式会社 Advent Calendar 2022 12日目の記事です。 11日目の記事は @ManabuSeki さんで「X-Accel-RedirectとgoでS3ファイルに認証をつけて配信する方法」でした。 (10日目と12日目を担当することにしたので完全に囲む形になってしまった。)…

Firebase App Distribution で配信するための CircleCI Orb を自作した

この記事はフラー株式会社 Advent Calendar 2022 10日目の記事です。 9日目の記事は @su8 さんで「【突撃!自分の本棚】エンジニアの本棚卸し 2022」でした。 僕もおっきな本棚ほしい〜 はじめに 成果物 改善ポイント Orb の実装 CLI のセットアップ Orb の初…

Swift Package Manager ライブラリを xcframework ビルドする

はじめに タイトル通り Swift Package Manager (以下 SwiftPM) で作ったライブラリを xcframework にする方法を n 番煎じですが備忘録がてら書きます。 xcframework についてはこちら developer.apple.com 環境 Mint を使って上記で前置きした CLI ツールを…

ハードコードを許されない変数をどうしても Xcode プロジェクトの Info.plist に差し込みたい🔑

この記事は,フラー株式会社 Advent Calendar 2021 の 18 日目の記事です. 17 日目の記事は @kousuke_sumiyasu さんで「 CoreMLとCreateMLを使って犬の分類器を作ってみた! 」でした. CoreML と CreateML ,結局リリースされてから一度も触れていないんで…

FloatingPanel を UITabBarController から表示する

はじめに 環境 準備 UITabBarController に FloatingPanel をつけてみる 解決法を探る 解決方法 最後に はじめに ウッ...タイトルが難しい.やりたいことはこうじゃ... Twitter のこんな感じでセミモーダルを UITabBarController を配置してるときにも表示した…

SwiftGen を Swift Package Manager で導入する

はじめに 環境 SwiftGen を CLI として使用する Mint Package.swift SwiftGen のみを CLI ツールとして管理している場合 他の CLI ツールも一緒に使う場合 実際に swiftgen を実行する テンプレートエラーの解決 CocoaPods 最後に 参考記事 はじめに 今回は…

Swift Package Manager で Firebase をインストールしたときの Crashlytics の設定

はじめに 導入 前提 解決法 最後に 参考 はじめに iOS アプリ開発 ( Android アプリもね) には欠かせない FirebaseCrashlytics (以下, Crashlytics) . Swift Package Manager (以下, SwiftPM ) で Crashlytics をプロジェクトにインストールしているとき…

SwiftUI で UIKit の popToRootViewController を実現する

はじめに SwiftUI で NavigationView の content で NavigationLink による画面遷移をしている場合に特定の何かをした場合に トップに戻したいという時があったとしたときにどう戻るんだっていうので実際に実装してみたことについてです. ↑今回の想定実装で…

Twitter のタイムラインのような複数画像を表示するコンポーネントの実装をしたライブラリを雑に作った

はじめに ↑ このような表示に見覚えはあるでしょうか? 今回はこんな表示をできる UIView のサブクラスを実装しました.

UIImagePickerControllerのカメラで撮影した画像からPHAssetを取得する

はじめに UIImagePickerController のカメラで撮影してすぐに UIImageWriteToSavedPhotosAlbum(_:_:_:_:) で保存して PHAsset を取得したいなって思ってやってみたときの失敗談です. 結論から書くと, UIImagePickerControllerDelegate の imagePickerContr…

ユニットテストを書いて夜以外にも寝られるようになりたい人生だった🤖

この記事は フラー Advent Calendar 2020 の14日目の記事です。 13日目は @furusax0621 さんで「新入社員のトレーニングを担当する上で気をつけたこと、気付かされたこと」でした。 はじめに みなさんはユニットテスト書いてますか? すでに書いていらっしゃ…

iOS Simulatorの写真ライブラリとかの権限を自動で与えたい人々

はじめに タイトルなんか意味わからんことになったけど、 import Photos PHPhotoLibrary.requestAuthorization { if case .authorized = $0 { print("アクセスが許可された!") } else { print("アクセスを許可してね!") } } みたいなコード書いて、 UT と…

Instrumentsを使わずにiOSアプリだけでメモリリークを簡易的に検知する。黒魔術あり

はじめに Instruments っていう Xcode に同梱されているアプリがあるんですけど、それを使わずに iOS アプリで開発中にメモリリークを検知したいとかあるかなって思って、メモ的なそれとちょっと黒魔術を使っていい感じに実装していくやつ。 環境 iOS 13.1 b…

アプリへの招待リンクをFirebase Dynamic Linksを使って実装した

はじめに 前回、サービスを終了したからメインロジックの解説を書いたときに、最後の方に頑張った機能を羅列したのでそれを記事化しようという流れです。 今回は、 Firebase Dynamic Links (以下 FDL ) を使って招待リンクから招待された人がアプリを初回起…

所属の業務で作ったiOSアプリをサービス終了させたのでアプリのメインロジックの解説を書く

はじめに こんにちは、久しぶりに髪の毛を派手髪にした直後にメイリッシュでバニーガール集団を見ながら書いている記事です。*1 なお、1日で書き終わることもなく無事後日持ち越しでオフィスで書いてます。 今回は、仕事で作った iOS アプリのサービスが終了…

個人でリリースしているアプリのアイコンをランサーズを通じて発注した

はじめに デザインセンスのないみんな〜〜〜!! 息してる〜〜〜〜〜?????? ウッ...苦し....(ここでブログ記事が終わっている ということにならないように。 タイトル通り、アプリのアイコンをランサーズを使ってデザイナーさんに作っていただきました。

Django (DRFを含む) で日付をレスポンスに含めて Swift の Codable で正常にデコードさせる

はじめに 私は、よく Django + iOS(Swift) を使ってサービスを作ったり作らなかったりしているわけですが、以前このようなことになりました。 例えば、 Django で django.utils.timezone.now なものを DRF の rest_framework.response.Response に直で返した…

PushKitのプッシュ通知をPython3(hyper)から送信する

はじめに ちょっと意味のわからないタイトルになった。いつものことなので大して気にしていない。 developer.apple.com developer.apple.com 上記のAppleの技術をPython3を使って送信するっていうやつです。 今更感があるがそんなのは関係ないっていうことで…

PythonでAPNs Provider APIでのプッシュ通知を実装した

はじめに 今までは、ソケット通信を使って通信するものでプッシュ通知のペイロードの大きさが2MBまででとか、証明書がアプリごとに違ってとか1年毎にサーバに証明書を置き換えないといけないとかすごい手間が多かった手法に慣れていたので使っていました。 …

Universal Linksの実装を今更やってやった!

はじめに iOS8か9ぐらいで実装された、 Universal Links 。 結構前(2年前ぐらい)に試してみたのですが知識及ばずで結局諦めてしまっていましたが、急にやってみたくなったのでやったのでそれのまとめ 環境 開発環境 Xcode9.3 Swift4.1 iOS11.3 iPhoneX サー…

HealthKitを使って心拍数を取得してグラフとか出したやつ

はじめに 先週のブログで予告してしまったので HealthKit を使って心拍数を取得してグラフを表示させてみました。 最終的にはこんな画面を作成しました。 先日行われた #kosen10s のLT12にてデモと発表(?)という感じでお話をしてきました。 kosen10s.connpas…

CIサービスBitriseを使ったAdHoc配信のサンプル

iOS

はじめに タイトルが最近、ちゃんと決められません、心の病気が侵攻しているようです。 BitriseというモバイルアプリのCIサービス。ご存じの方も多いかと思います。 www.bitrise.io Qiitaとかにもたくさん記事が上がっていたりしますね。今更なんだよ?って…

ここにResourceKitを使っている時に外部ライブラリをimportさせたい人がいます

はじめに ResourceKitはこちら。Starあげるとbannzaiさんがとっても喜ぶと思います! github.com タイトルが思いつかなかったので、いまいちですが、大まかにやりたいことは以下です。 Git管理されたiOSアプリのプロジェクトがあります 内部では ResourceKit…

UnityでiOSの加速度センサーをちょっとだけ触ってみた

はじめに 久しぶりにUnity触ったのでそれのメモ的なソレ的なアレ!(どれ めっちゃ素人なので本とかを送りつけてもらえると助かりもうす! 環境 Unity 5.6.3p2 macOS Sierra (10.12.6) Xcode 9.2 iPhone X (iOS 11.2.5) やったこと iOSデバイスが標準で搭載…

PythonでPKCS12をPEMに変換する

はじめに iOSエンジニアさんとかインフラエンジニアさんたちとかは多分よく耳にするであろう、 PKCS12 (以下、p12) を PEM形式にPythonを使って変換するやつです。 事前にOpenSSLが入っている端末であれば、以下で変換できます。 $ openssl pkcs12 -in /path…