AAAなブログ

あなたの求めているものは、ここにはない!

楽天カードの為替レート

タイに旅行に行く。

タイ国鉄の公式サイトで鉄道乗車券を購入してみた。

楽天カードで決済でき、明細が出てきたので為替レートを計算してみた。

 

結果は4.2。ちなみに今日の公示レートは4.1なので微妙にレートが悪かったことになる。

0.1 なら無視しても良いレベルかも知れないが。

これはキャッシングではなくショッピングのレートです。

タイはキャッシングのレートが非常に悪いので、現地ではクレジットカードを使用しないつもり。現金信仰で行きます。

 

CocoaPodsを使用しているとXcode 14.3でアーカイブできないじゃん

Xcode 14.3がRelease Candidate版になったので拙作のアプリをアップデートしようと思ったんだけど・・・リリース用ビルドが通らない。デバッグビルドなら通る。

なんだこれ?と思ってググったらCocoaPods側の問題というか、Xcode 14.3への対応がまだできていない感じのようです。GitHubにissueが上がってました。

github.com

 

コメントにワークアラウンドが書いてあります。その通りにやればビルドできるようになりました。まぁ手動でスクリプトを直すの正直めんどいけど。

早く修正・公開して欲しいところですね。

 

CocoaPodsに依存しすぎ?

どうしてもサードパーティなのでXcodeのアップデートに対応しきれないケースが出てきます。私は以前Carthageも併用してたのですが、今回と似たようなトラブルがあった時に使うのやめました。今はSwift Package Managerがメインです。早くCocoaPodsも辞めたい。

 

今回の回避策

シェルスクリプトを一部書き換えることで解決しました。

 

続報

4月19日にアップデートされて修正されていました!

https://github.com/CocoaPods/CocoaPods/tree/1.12.1

なにげに半月以上かかってますね・・・遅すぎ。

Android Studio で Github ログインできなくて泣きそうになる

Appleがクリスマス休暇に入ったこともあり、久々にAndroidアプリのメンテをやるのだ。

Pixel とか引っ張り出してきて充電。お、Android 12 が降ってきてるので入れちゃお。

Android Studioをアップデート。SDK Manager でもろもろ最新化。

 

Android Studioクリーンインストール

調子が悪くて VMOptionの設定弄ってたら起動しなくなった。再インストールしても全然起動しない。しょうがないのであちこちに分散している設定も全消ししてクリーンインストールしよう。

なんとか復活。

 

GitHub連携もなくなってる

リセットしたのだから当たり前か。

Preferences > Version Control > GitHub からログインすればいいのかな・・・

ところが! Jet Brainのログインページに飛ばされるだけで全然ログインできない。

パスワード認証じゃダメらしいので トークンを再発行して入力してみたけどそれでもダメ。

なんやこれ。

 

代わりに・・・

Welcome to Android Studio の画面から Get from VCSのボタンを押して GitHub のところからログインできた。

プッシュ成功。

Android 辛すぎ。

 

UISaveVideoAtPathToSavedPhotosAlbum の挙動が iOS 15 で変わっちゃった

iOS/iPadOS でビデオを作成して システムのフォトライブラリに追加するケースです。通常は PhotoKit を利用するのが良いです。

 

PhotoKit を利用するとファイル名がDCF形式(例: IMG_0123.mov)にならない

いや、Assetを Createするときにファイルじゃなくて Data を渡せばDCFになるような気がするが、長時間録画の場合などにデータを渡すのは現実的ではない。モバイルデバイスのメモリは有限だ。やはりファイルを渡すしかないでしょう。

でも、やはりDCF形式にしたい。

 

UIKit の UISaveVideAtPathToSavedPhotosAlbum

という レガシーAPIを使えばDCF形式になる。

ちょっと古くてSwiftyじゃないけどまだ非推奨にはなっていないし、まあ使える。と思ってたのだが・・・

 

iOS 15 から ファイル名がDCF準拠じゃなくなった

残念。Appleは このAPIを見捨てたのか?引数にファイルを渡すインターフェースなんだけど、そのファイルの名前が付けられてしまう実装仕様に変えられてしまった。

 

ということで、今後は UIKit の方を利用する理由がなくなりました。

しょうがない。PhotoKitに書き換えるか。時代がそういうなら仕方ない。

 

 

setImageUri() か setImageBitmap()

Androidで UIImageView にローカルファイルから画像を設定したい時。

 

何も考えずにやるとこうなる。

val bitmap = BitmapFactory.decodeFile(file)

imageView.setImageBitmap(bitmap)

(とりあえず sampleSizeは考慮しない)

 

でもわざわざビットマップを生成するのも冗長だよな、と考えたりして、

imageView.setImageUri(Uri.fromFile(file))

 

これでいいじゃん?

だけど一応公式のリファレンスをチェックしてみたら、

 

developer.android.com

 

This does Bitmap reading and decoding on the UI thread, which can cause a latency hiccup. If that's a concern, consider using setImageDrawable(android.graphics.drawable.Drawable) or setImageBitmap(android.graphics.Bitmap)and BitmapFactory instead.

 

って書いてあってうわぁってなった、のでブログに記録して忘れないようにしよっと。