CatHand Blog

アプリ開発やMac弄り

iOS

Bitrise の Set Xcode Project Build Number ステップが反映されないとき

BitriseでXcodeプロジェクトのビルドナンバーをセットするのに Set Xcode Project Build Number ステップを使います。 devcenter.bitrise.io いつのまにかこのステップが効かなくなっており、ビルドナンバーが常に 1 でアプリが配信されていました。Set Xcod…

Combineのassign()で循環参照

SwiftUIの @Published されてる値をUIKit側から監視したいとき等、↓のようなかんじでCombineのassign()を使うことがあります。 class HogeViewController: UIViewController { private var cancellables = Set<AnyCancellable>() private var hugaValue: Data? { didSet { up</anycancellable>…

IllustailがiOS14で起動しない(解決)

画像収集アプリ Illustail の動画対応を行いました。 IllustailCatHand.orgソーシャルネットワーキング無料apps.apple.com それ以降TwitterでIllustailが起動しないという報告をいくつか見かけたのですが、再現できず困っていました。ありがたいことに環境な…

Spotlightプロセスが暴走する

macOS Monterey にアップデートしたあたりから、Spotlightプロセスが高効率コアを100%占有しっぱなしになる現象が発生していました。MacBookを閉じていても動作しているようでバッテリーを消費して落ちてしまうので困ります。 最近スリープ中にバッテリー消…

iPad Pro (12.9 Inch, 5th)

iOS

iPad Proを買いました。 2021 Apple 12.9インチiPad Pro (Wi-Fi, 256GB) - スペースグレイApple(アップル)Amazon iPad Pro (12.9 Inch 初代)からの買い替えです。初代は発売日に購入したので6年くらい使ったし、ストレージが32GBしかないのでそろそろ買い替…

NFCタグ

AliexpressでてきとうなNFCタグを買いました。 玄関に貼って、セサミロックをNFCから解錠したいという目的です。 www.cathand.app ショートカットアプリの「オートメーション」から「NFC」を選択してオートメーションを作成すると、NFCをトリガーにしてショ…

Meross WIFIスマートプラグ

【Apple製品対応】Meross WIFIスマートプラグ スマホのSiriで家電を操作 全主要スマートスピーカー対応 HomeKit, Amazon Alexa, Google Home 1個入りMerossAmazon HomeKitで使えるスマートプラグを探していてこれを見つけました。 本体についてるQRコードを…

Homebridge

SwitchBot単体でiOSのショートカットが使えないので、HomeBridgeを導入してHomeアプリから操作することにしました。 homebridge.io HomeKitに対応してないIoT機器をHomeKitに対応させるやつです。iOSのHomeアプリからはブリッジとして認識されます。 サーバ…

中華Moft

iOS

AliでMagSafeに付けられるMoftっぽいやつを買いました。 Magnetic Leather Wallet Card Bag Holder for Magsafe IPhone 12 Pro Max Mini Back Card Case Slot Folding Support Stand Accessories|Wallet Cases| - AliExpress 装着したところ。iPhone13 Proで…

ショートカット

iOS

ウチの玄関ドアは鍵が2つあるので、セサミ4も2つ付けました。 www.cathand.app セサミアプリでは鍵を一つずつしか施錠・解錠できないので、iPhoneをロック中に両方開けたい時は iPhoneのロック解除してホーム画面表示 セサミアプリ起動 鍵1をタップ 鍵2をタ…

SESAME4

ウチでは5年ほど前からスマートロックとして Qrio Smart Lock (Q-SL1) を使っていました。 qrio.me ですが最近 【Qrio Smart Lock Q-SL1】アップデート対応終了のお知らせ(2021年9月1日) というメールが来て、アプリのサポートが終了することになったよう…

ITMS-90283 エラー

去年の今頃くらい(たぶんXcode12がでたあたり)から、IllustailのMac版がAppStore Connectに登録できなくなっていました。Xcodeからアップロードしようとすると以下のようなエラーになります。 ERROR ITMS-90283: "Invalid Provisioning Profile. The provi…

iPhone 13 Pro

iOS

発売日に届きました。 左が Pro Max ゴールド、右が Pro グラファイトです。上の写真だとグラファイトの方は再起動中の画面っぽく見えますね。 11 Pro から 13 Pro への機種変です。11Proと同じようなバンパーをつけているのですが、カメラがゴツくなったた…

Xcode13のシミュレータの表示崩れ

iOS

Xcode13のシミュレータで画面表示崩れが起きる場合があります。 これはTLPhotoPickerというフォトライブラリから複数選択できるライブラリなんですが、左が正常、右が表示崩れ状態です。このライブラリだけではなく、どのアプリでも表示崩れが起きます。 git…

iPhone13ケース

iOS

iPhone 13 Pro と Pro Max のケースを買いました。 発売と同時に欲しいので毎回あんまり選択肢がありません。楽天で探してとりあえずの適当なやつを買いました。 Pro Max はこれ。 item.rakuten.co.jp Pro はこれ。バンパータイプが好きです。 item.rakuten.…

iPhone13

iOS

iPhone13 Pro Max ゴールドと iPhone 13 Pro グラファイトを予約しました。どちらも128GBです。 Pro Max はいつも通りオンラインの Apple Store で買ったんですが、Pro は楽天モバイルで買ってみました。 楽天モバイルiPhoneアップグレードプログラムです。 …

中華ミラネーゼループ

iOS

AliExpressでAppleWatchのミラネーゼループっぽいやつを買いました。 いま見たら商品ページ消えちゃってるけど、確か500円くらいだったと思います。 本体が青色なので青いバンドにしました。意外とかっこよくていいかんじです。 本体との接続部の精度があま…

Carthageで作成したxcframeworkを追加した後archiveのvalidationでエラーになる

CarthageでRealmとかFirebase等の大きめのライブラリがxcframework化できるようになったのでビルド時間短縮のために導入しています。 その際、ストアに提出しようとしたときに以下のようなエラーが出る場合があります。 error: exportArchive: IPA processin…

GILD design ジュラルミンiPhoneケース

iPhoneケース買いました。 armabianca-shop.com iPhone11 Pro ミッドナイトグリーンに装着したところ。 装着はネジ止めなので少し神経を使いました。ネジを締めると貼っていたガラス保護フィルムが浮いてきてしまったので、ガラスフィルムは使えないものがあ…

M1 Macでシミュレータ向けビルドが通るようにする

CocoaPods等でバイナリの形で公開されているライブラリの中には、実機ビルドや Intel Mac のシミュレータ向けビルドは通るのにM1 Macのシミュレータ向けビルドが通らないものがあります。 例えば GoogleSignIn です。これは以下のissueでも盛んにリクエスト…

PHPickerViewControllerで複数選択した場合のエラー

iOS14では UIImagePickerController の代わりに PHPickerViewController を使うことで複数の画像を選択することができます。 複数選択した画像を全部UIImageにして取得したくて、以下のようなコードを書きました。 func picker(_ picker: PHPickerViewContro…

AirTagケース

AliExpressでAirTagのケースをいくつか買いました。 革っぽいやつ ja.aliexpress.com 純正のレザーキーリングに似てるやつ。 AirTagを入れてみたところ。少しヨレます。 そして横から見ると隙間が空いています。AirTagが外れないか多少心配。 シリコンでカラ…

SwiftUIのListのseparatorを消す

SwiftUIの List はデフォルトでセパレータ(区切り線)が表示されていて、非表示にすることができません。 iOS13 iOS13では、以下のどちらかの方法で消すことができます。 UITableView のappearanceを変更する List { ListItem(title: "タイトル1") ListItem…

AirTag

iOS

届きました。 最新 Apple AirTag 4個入り発売日: 2021/04/30メディア: エレクトロニクス 少し試してみましたが、近くでの位置検索はだいぶ正確です。音を出さなくても探せるのがいいですね。 近接の位置情報がかなり正確で、iPhoneのユーザー数を考えると遠…

SwiftUIに足りないイージングアニメーションを追加する

SwiftUIのAnimationには easeIn とかはあるんですが、 easeInCubic とかがありません。 ちょっと検索してみたところ、↓が見つかりました。 github.com しかしこれは時間に対する値を返す関数群のライブラリなので、SwiftUIの Animation では使用できません。…

iPhone12 mini

iOS

娘(7)用にiPhone12 miniを買いました。 白いiPhone久々に買った気がする。 サイズ的にはそんなに小さくは感じなかったんですが、重さはすごく軽く感じます。

MXParallaxHeaderのヘッダーの高さを可変にする

Twitterのユーザー詳細画面のような、上からヘッダー、タブ、コンテンツのような画面を作る時、MXParallaxHeaderが便利です。 github.com こういう画面。 SwiftUI対応 ヘッダーの高さを中身によって可変にする ということがやりたかったんですが、地味に大変…

BitriseからDeployGateへデプロイする

BitriseからDeployGateへデプロイするのは DeployGate Upload ステップがあるので簡単そうです。 ですが、既存のDeployGateアプリの配布ページへデプロイ設定する際にいくつかハマった部分があるのでメモしておきます。 DeployGate: API Key API Keyには、De…

Xcodeが断続的にレインボーカーソルになる

Xcodeを使っているとランダムにレインボーカーソルが発生して数分操作不能になる、という現象が発生しました。 MacBook Air (M1, 2020) / macOS 11.1 / Xcode 12.3 キャッシュ削除、シミュレータ全削除、Xcode再インストール等試したが改善せず Wifiを切ると…

Carthageでxcframeworkを作成する

Carthageでxcframeworkを作成できるようになりました。M1 Macで開発するにはライブラリのxcframework化はほぼ必須なので助かります。 github.com 既にCarthageのreadmeでは carthage update --use-xcframeworks を使うよう案内されていますが、現状最新のバ…