杏z学習帳

Swift、Unityなどを中心に節操なく手を出してますまる

[Bitrise]XcodeTestに失敗した時だけSlackにメッセージ投げる方法

ざっくりまとめ。 XcodeのUITestを実行するWorkflowで失敗した時だけSlackにメッセージなげたい Slackステップのrun_ifを設定する です。

[雑談]Golangの公式ショップが出来たらしいのでパーカー買ってみた

ざっくりまとめ。 Golangの公式ショップができた! パーカーかってみた! ちょいトラブったけど無事届いた! 手触りは柔らかくていいと思う

[Bitrise]AppleIDの2ファクタ認証を突破する!

ざっくりまとめ。 2ファクタ認証を有効化してBitriseでAppStoreConnectにアップロードしたい Bitriseで2ファクタ認証用のセッションを保存する そのセッションを使うようにアカウントを紐付ける FastlaneをつかってアップロードできるようにApp用パスワードを取得する 取得したApp用パスワードをBitriseに保存して該当Workflowのステップに設定する です。

[Swift]UniversalLinks対応のアプリがあるならそれで開きたいし、なければSafariViewControllerで開きたい

ざっくりまとめ。 UniversalLinks対応のアプリがある場合はアプリで、ない場合はSafariViewControllerで開きたい universalLinksOnlyオプションを指定して開く 失敗したらSafariViewControllerで開く です。

[Flutter]スクロールしても画像が上部に固定して残るようにしたい

ざっくりまとめ。 スクロールしても画像を画面上部にある程度大きさで残したい SliverAppBarを使うとできた pinnedの設定をする bottomの設定をする です。

[Firebase]friebase-adminを使ってアップロードする時にMIME(ContentType)を設定する方法

ざっくりまとめ。 firebase-adminでファイルをアップロードするとタイプがapplication/octet-streamに設定される metadataを適切に設定する必要がある です。

[雑談]システムファイルにストレージを圧迫されたのでクリーンインストールした話

ざっくりまとめ。 ストレージの空き容量がすくないと怒られる(残り10GBほど) システムが416GB占めていた なんやかんや考えたけど結局 OS をクリーンインストールした 結果400GB以上空き容量確保 です。

[Swift]IQKeyboardManagerでPrev/Nextボタンが表示されない場合の対処方法

ざっくりまとめ。 IQKeyboardManagerを使用していてもキーボード表示時にPrev/Nextボタンが表示されないケースがある。 ネストが深いView構造をしていると発生するっぽい? その場合は、対象のTextFieldの共通の親ViewになるものをIQPreviousNextViewにする です。

[Swift]SwiftlineをSwiftPackageManager 4.0対応した話

ざっくりまとめ。 SwiftlineをSwiftPM v4系で使いたい 本家は放置されているっぽいので、Forkして対応する SwiftPM v4を使うということを明示 さらにPackage.swiftにlibrary名などを追加で記述設定 です。

[雑談]ツイートスクラップ作り直した!

ツイートスクラップ作りなおした。 今後もメンテすることを考えると現状があまりにつらすぎる TwitterKitのサポートが終わっている この2点があったので作り直したった!

[Swift]viewForHeaderInSectionがめっちゃ呼ばれる

ざっくりまとめ。 UITableViewでstyleをgroupedにする そしてheaderを非表示にするべく heightは.leastNormalMagnitudeを返す viewはnilを返す そうするとスクロールするたびにviewForHeaderInSectionが呼ばれ続ける そしてStoryboardで実装した場合とコードだけで実装した場合で挙動が変わる 最後のは意味がわからない です。

[雑談]ドラクエ5でメタルスライムが仲間に!!

ドラクエ5でメタルスライムを仲間にできた!

[Swift]文字列内でOptional型を埋め込んだ時のアレをStringInterpolationをいじって回避したった

ざっくりまとめ。 StringInterpolationと聞いてピンときますか? StringInterpolationとは文字列補間という意味らしくて、文字列内で変数の値を展開してくれる例のアレです "text: \(text)"こういう感じのやつです この展開は便利だけれどOptionalの場合ちょっと困ります "text: Optional("nullable")"上記の例でtextがOptionalだとこうなる Swift5からStringInterpolationをカスタマイズできるのでこの問題をサクッと回避できます! です。

[Swift]didEndDisplayingCellが呼ばれたからと言って表示されていないわけじゃない

ざっくりまとめ。 UITableView.relodRows()を実行すると予期せぬdidEndDisplaying cellが呼ばれる cellForAtRow -> willDisplay cell -> didEndDisplaying の発生順 Cell自体は表示されているので本来呼ばれるべきではないのでは? 回避策はreloadData()ぐらいしか思い浮かばない 求むよい解決策(笑) です。

[Swift]UniversalLinksがストア版だと動かなかった

ざっくりまとめ。 AppStoreから落としてきたやつだとUnivesalLinksが動かない Developだと問題なく動いている production.entitlementsが更新されていなかった ちゃんと確認しましょう! です。

[雑談]カレンダー買ったらいろいろ買うはめになった話

ざっくりまとめ。 ヴァイオレット・エヴァーガーデンのカレンダー買った! 飾るすべがないのでフレームなどを買うはめに! 更に追加でワイヤーなども買うはめに! です。

[雑談]BASE PASTAをお試ししてみた

ざっくりまとめ。 BASE PASTAをお試ししてみた BASE PASTA とは、いわゆる完全食よばれるものです 僕には無理でした 味というより食感でしょうか です。

[Firebase]Hostingでバージョン履歴の削除が自動化できるようになった!

ざっくりまとめ。 Firebase Hostingでバージョン削除の自動化ができるようになった! 新しいバージョンがdeployされたときに保持するバージョン履歴数を設定できる です。

[Swift]Titleを空にしたTabBarの調整が思いの外めんどくさかった

ざっくりまとめ。 UITabBarController でアイコンだけ表示したい タイトルを空にするだけだと不十分で、位置調整が必要 iPad対応もしようとするとさらにひと手間必要 iPad はタイトルとアイコンが上下じゃなくて左右にならぶ ただし iOS 10 以下は iPhone と同じ上下 です。

[Swift]KAKUSANっていうライブラリ作った

ざっくりまとめ。 KAKUSANというライブラリを作った ユーザがスクリーンショットをとったのを検知するとシェアを促すというもの テキストやURLを任意なものでシェアをできる Notificationでユーザがスクリーンショットをとったということを検知できる 実は(?)Notification.Name を指定しないと全部受信できる です。