Citrus-Field TECH BLOG.

フリーランスのITエンジニア、iOSアプリの個人開発、業務委託(小売、ヘルスケア)を行っています。お仕事については、メールもしくはXのDMでご相談ください

タブバーのカスタマイズ(ソースコード有り)

Swift、UIKit、Storyboardで、画面のUIを変更しやすくしたタブバーのチュートリアル動画です。

 

タブバーを使う場合、最初の実装の仕方で、その後の生産性が変わってきます。

今回は、年季の入ったiOSアプリのタブメニューの見た目を、タブ毎の大きさや、グラフィックを変えて、リッチに見せたいという要望があり、これまでのコードでは対欧しづらかったため、タブメニュー画面を画面下部にボタンを並べるように作り直すことにしました。

 

タブっぽく見えているのは、グラフィカルなボタンです。
そのボタンから5つの画面に遷移させています。

 

Storyboard

Storyboard

もちろん、Xcoideの新規プロジェクトを作る際に、出てくるタブメニュー画面を使いたくなる気持ちも理解できますが、その後、今回のように、たとえばデザイナーから、タブの周辺などの、見栄えを大きく変えたいといった場合には、タブではなく、に追加の要望がタブ毎にバーの中のデザインを変えたりする依頼がある場合などに対応しやすいようにすべきです。

 

動作イメージ

youtu.be

 

ソースコード(GitHub)

github.com

Appleウェビナー「ヘルスケア/フィットネス カテゴリにおけるAppビジネスの可能性と Apple Watch の活用」の感想

2023年5月16日(火)
午後2:00〜午後3:30 (日本標準時)

Apple Developer Relations主催のウェビナー

「ヘルスケア/フィットネス カテゴリにおけるAppビジネスの可能性と Apple Watch の活用」

を受講しました。

 

あまり活用されていないかもしれませんが、Appleはエンジニア向けのサポートを用意しています。

サポート - Apple Developer

これには、コードレベルのサポートも含まれます。

テクニカルサポートのリクエスト - サポート - Apple Developer

以下、受講の感想です。

現状、日本国内のiOS、iPadOSのカスに対して、WatchOSをサポートするiOSの割合は、欧米諸国に比べ、低いそうです。

WatchOSは、Appleとしても力を入れており、ヘルスケア分野などで圧倒的なユーザー数を抱えるポテンシャルのある領域です。

また、WatchOSをサポートするアプリは、海外展開をしているものが多数あり、ユーザー層も、比較的AppStoreでお金を使う人が多いのも特徴です。

使用できるライブラリが制限されるなどの点はありますが、今後積極的に検討していきたいと思っています。

AWS Innovate - Data and AI/ML Editionを受講しました。

すこし前の話になりますが、 

AWS Innovate - Data and AI/ML Editionを受講しました。  

私はデータサイエンティストではありませんが、昨今の開発では   

CoreMLを使ったり、バックエンドでAWS側でML(機械学習)のモデルを使って、iPhoneやAndroidでデータを可視化するUIの実装などを行っているので、AWSについての知見ももっと必要だと思っています。

今回は、Amazon SageMakerをビジネスユースで使用する活用事例など、実戦向きな内容で、今後に活かしていきたいと思っています。

aws.amazon.com

 

 

 

Mac mini(M2チップ)を購入しました

開発機として、これまでインテルチップのTouchID付きのMacBookPro(2020)を使ってきましたが、ビルドの遅さが気になってきたので、新しいMac mini(M2チップ)を購入しました。

これまでのインテルはl,M1が並行して販売されていた時代のもので、M1ではDockerが動作しなかったり、モニターとの相性問題など知られている問題をさけた選択でした。

借用機でM1を使っていたことがあるのですが、XcodeやGradleのビルドをしても無音で発熱もなく速いのでとても快適でした。

このビルド時間の短縮と、リモートワークにシフトしたため、今回はMac mini(M2チップ)が最適と考えています。

ラップトップも必要なシチュエーションがあるので併用して行きたいと思います。  

詳しい感想は、商品が届いて少し使ってから語りたいと思います。

Mac mini M2 16GB 500GB

カスタマイズしたら到着日がかなり伸びました。

Console.appを触ったらXcodeのデバッグができなくなりました。

ログ取得に iOS14から使えるようになったOSLog()を使おうとし、
Console.app をアタッチしたら、デタッチできなくなり、デバッグできなくなった。

環境がおかしくなった模様。

 

対策

iOSシミュレータのメニューより[Device]-[Erase All Content and Settings...を選択  

Are you sure you want to erase content and settings?  

と効いてくるので[Erase]を選択。  

Xcodeのメニューより[Product]-[Clean Buid Folder]を選択  

その後、  

Xcodeのメニューより[Product]-[Buid]を実行。  

 

今回はこれで解決しました。