CatHand Blog

アプリ開発やMac弄り

iOS

MacBook Air (M1, 2020)

届きました。メモリ16GB / SSD512GB です。 きた pic.twitter.com/NctAaQSUhu— nya (@cathandnya) 2020年11月22日 とりあえず Apple Silicon mac でのアプリ開発環境を整備しています。現状(11/22)の問題点をまとめました。 Rosettaで動くやつ Homebrew Co…

はてなブログアプリにログインできない

iOS

iPhoneのはてなブログアプリにログインできなくなりました。 Webではログインできて、そのIDとパスワードをそのまま使ってもログインできません。 サポートにも連絡したんですが、自己解決したのでやり方を載せておきます。 iPhoneのはてなブログアプリにはI…

Apple Watchのバンド

iOS

www.cathand.app AppleWatchですが、風呂入るとき以外ずっとつけていたらかぶれました。 Apple Watchでかぶれた— nya (@cathandnya) 2020年11月1日 仕方ないのでこまめにつけ外しすることにします。ソロループだとつけ外ししにくいので、ベリベリする安いバ…

Automatic preview updating paused

SwiftUI で Automatic preview updating paused というエラーが出てプレビューが表示されない場合の対処法です。 stackoverflow.com ↑に書いてあるとおりなんですが、 Run script phase でプレビューの時にスクリプトが実行されないようにすると直ることがあ…

Illustail 4.1.0

でてます。 IllustailCatHand.orgソーシャルネットワーキング無料apps.apple.com iOS14のWidgetを追加しました。任意のタイムラインの最新投稿を順番に表示します。 Widget やっと動いた pic.twitter.com/r5l50bkFYC— nya (@cathandnya) 2020年9月25日 ↑のよ…

iOS14でMultipeerConnectivity.frameworkがエラーになる件の解決編

www.cathand.app ↑のiOS14でMultipeerConnectivity.frameworkがiOS14実機でエラーになる件ですが、Appleのデベロッパーフォーラムに解決策が載っていました。 developer.apple.com Info.plist で NSLocalNetworkUsageDescription を追加する 以下のような NS…

PINRemoteImageでビルドエラー

App Extension と本体アプリの両方で PINRemoteImage を使っていると Archive に失敗することがあります。 環境 macOS 10.15.6 Xcode12 cocoapods 1.9.3 abstract_target 'main' do pod 'PINRemoteImage' ... target 'App' end abstract_target 'widget' do …

iOS14でMultipeerConnectivity.frameworkがエラーになる

近距離で P2P 通信ができる MultipeerConnectivity.framework ですが、iOS14 でエラーが発生する場合があります。 MCNearbyServiceAdvertiser や MCNearbyServiceBrowser 等が NSNetServicesErrorCode = "-72008"; 的なエラーを返します。 このエラーは Xcod…

BitriseでビルドしたAdHocバイナリがインストールできない

www.cathand.app ↑で作っていたけいさんカードアプリのビルドと配信を Bitrise と Firebase App Distribution で自動化したんですが、配信されたバイナリがインストールできません。 いろいろやってみた結果、 Xcode Archive & Export for iOS ステップの Re…

けいさんカード

1年生の算数の宿題でけいさんカードというのがあります。 ↑こういうカードを親が出して子供が答えるんですが、めんどいのでアプリにしました。 github.com 娘のiPhoneにインストールしたところ、勝手にやっているようです。 今後掛け算などにも対応していこ…

Ore2 2.6.0

Ore2CatHand.orgソーシャルネットワーキング¥250apps.apple.com Twitter の API 制限が解除されました。 ただし、API Key が変更になりましたので、再度ログインしてください。ログアウトせずにそのままログインするとタイムラインを引き継ぐことができます…

Ore2

以前、自分用にOre2というTwitterクライアントを作りました。 Ore2CatHand.orgソーシャルネットワーキング¥250apps.apple.com 何度かTwitterから謎のAPI制限を受けることがありましたが、その度連絡して解除してもらっていました。 ですが、1年くらい前に制…

OAuthConsumerをApp Extensionで使う

iOSでOAuthするライブラリで昔からあるやつなんですが、OAuthConsumerというのがあります。 cocoapods.org シンプルで使いやすいんですが、内部で - [UIApplication openURL:] を使っているのでApp Extensionでビルドが通りません。 他のライブラリを使うこ…

SwiftUIで全画面にしてviewがずれるとき

.edgesIgnoringSafeArea(.all) を使えない(使いたくない)Viewで 全画面表示したいときに↓のようにすると、 struct ContentView: View { var body: some View { ZStack() { Color.blue Text("Hello, World!") } .frame(width: UIScreen.main.bounds.width) …

SwiftUIのListでNavigationLinkを付けずにハイライトさせたい

SwiftUI で List のセルのタップを拾うとき、素直に NavigationLink を設定していればセルがハイライトされますが、 onTapGesture() 等でカスタムしたいときはセルがハイライトされません。 struct LandmarkRow: View { var landmark: Landmark var body: so…

Apple Pencil

iOS

初代 Apple Pencil が使えなくなりました。 Apple Pencil(第2世代)発売日: 2018/11/07メディア: Personal Computers iPad に繋ぐと設定画面等には出てくるんですが、外すと認識されず、描いても反応しない状態です。 初代 iPad Pro 12.9インチと同時購入し…

Firebase入れたらクラス名が変わった

Tumbletail のクラッシュを収集するために Crashlytics を入れました。 TumbletailCatHand.orgソーシャルネットワーキング¥250apps.apple.com そうしたら、 ブログ詳細画面が正常に表示されない というバグ報告をいくつか頂きました。 いろいろ調べた結果、 …

SwiftUIで影が切れる

横スクロールで要素が並んでるようなUIを考えます。 struct TestView: View { var body: some View { VStack(alignment: .leading, spacing: 0) { Text("上の要素") .padding(.bottom, 10) ScrollView(.horizontal, showsIndicators: true) { HStack(spacing…

SwiftUIで非同期でViewを更新する

SwiftUIでWebAPI等を呼んでViewを更新するやり方です。 単に更新するだけではなく、エラーだったらAlertを表示したり、読み込み中はインジゲータを表示するようにしたいと思います。 何か非同期処理をする ObservableObject を作ります。 class APILoader<T: Decodable>: O</t:>…

SwiftUIでTextが複数行にならない

SwiftUI で複数行に設定してる Text が複数行にならないことがあります。 プレビューでは複数行になっているんですが、シミュレータで実行すると1行で末尾が省略されてしまいます。 VStack で複数の View を並べているときになるような?気がします。 修正す…

GraphQLのモデル

GraphQLクライアントライブラリのApolloを使っています。 github.com Apolloでコードを自動生成すると、モデルがQueryやMutation毎に別に生成されます。 例えばユーザ一覧を返すQuery query UserList { users { name username id } } と、ユーザーIDを指定し…

danbooruのAPIが変更されました

DanbooruのAPIが変更になっていたようです。 Help:Api Wiki | Danbooru 今まではクライアント側でパスワードからハッシュを生成してそれを送っていたのですが、Web で生成した API Key を送信するようになりました。 API Key は My Account -> API Key から…

UIWebView その2

www.cathand.app ↑のUIWebViewへの依存をなくす件で、EvernoteSDKの新しいやつを紹介しました。 でも結局のところこのライブラリもまだUIWebViewを使っているみたいです。 github.com まぁ申請できなくなるのは2020年12月からということなので、それまでに対…

UIWebView

TumbletailをアップデートしようとしてAppStore Connectにバイナリ登録したら↓のように言われました。 ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of app updates that use UIWebView APIs starting from December 2020. Se…