iPhone でも書いていきますのでお願いします。

意外と似てると思いながら、四苦八苦。

iphone hello world

👉 【ahamo】iPhone11 最安値購入 割引の要素と申込のタイミング 

当分は、Android と iPhone の比較になります。

乗り換えや乗り入れの人の役に立ちたいです。

マルチプラットフォームな開発も進めますのでよろしくおねがいします。

👉 タグ「iphone」 | ファショ通 – Android | iOS 
👉 タグ「ios」 | ファショ通 – Android | iOS 


5G を検出して接続タイプを特定する 【NR NSA/SA/MMWAVE】

Androidで、どの5Gが掴めているか確認します。

 

条件

1. Android11 (OS)
2. 5G対応デバイス (端末)
3. SIMカード (通信)

手元にある Pixel5 (Android11) + docomo ahamo SIM で挑みます。

 

5G を検出する

TelephonyManager.listen() を呼び出して LISTEN_DISPLAY_INFO_CHANGED を渡し、ユーザーが 5G ネットワークに接続しているかどうか判断します。onDisplayInfoChanged() メソッドをオーバーライドして、アプリが接続されているネットワークの種類を判断します。

LISTEN_DISPLAY_INFO_CHANGEDからPhoneStateListenerイベントをPhoneStateListenerし、 onDisplayInfoChanged()メソッドをオーバーライドすることにより、5G検出をサポートします。

5G検出

👉 アプリに 5G 機能を追加する  |  Android デベロッパー 

ここらは、callbackFlow を使うと掴んでいるネットワークの種類が変化するたびにUIを変化させることができますね!

ここで気になっていたのが、すでに一部キャリアから公開が始まってる NR_SA (5G スタンドアロン) の戻り値が掲載されてないことでした。

ちなみに、USモデルでは以下のような記事で、直近のパッチで対応など書かれてる。

👉 Pixel 5 and 4a 5G don't support 5G SA right now, but they will next year 
👉 Pixel 5, 4a 5G adds Standalone (SA) on T-Mobile, Google Fi - 9to5Google 

 

接続タイプを特定する

次の値を使用して、5GのNSA(非スタンドアロン)、mmWave(ミリ波)、およびSA(スタンドアロン)接続タイプを区別します。

5GのNSA(非スタンドアロン)、mmWave(ミリ波)、およびSA(スタンドアロン)接続タイプを区別します

👉 5Gテスト  |  Android オープンソース プロジェクト 

どうやら NR_SA (5G スタンドアロン) は、2つのクラスから取得できる3つの値の組み合わせで判定できるようです。

NR NSA/SA/MMWAVE



 

結果

確認しやすいように基準となる値の3つを並べて表示するようにしておいて、いざ5Gエリアへ。

ahamo 5G NR_NSA NR_SA
👉 Test 5G - Google Play のアプリ 


[設定]

  |

[デバイス情報]

  |

[SIMのステータス]

5G NR_NSA
私は、5Gは、

「NR_NSA (5G非スタンドアロン)」

しか掴んだことがありません!

「NR_SA (5Gスタンドアロン)」は

どこに行けばつかめるのでしょうか、

いや、今は待つしかないのでしょうか?

👉 Pixel5 で ahamo を使いながら書くページ 
👉 Pixel5 / Pixel4a (5G) で「ミリ波」は使えたのか。【ahamo】 
👉 なぜ ahamo は 5Gエリアで4G通信に切り替わるのか。 
👉 ドコモ 5G 通信速度 どれぐらい? 
👉 Test 5G - Google Play のアプリ 

👉 「0001docomo」は 誰でも 無料 で 自動接続 できますので設定方法を hatena-bookmark


Error: Please specify Xcode project location in xcodeproj property of gradle.properties

KMMで作ってみるかとドキュメント通りにやってみました。

👉 Getting started—Kotlin Multiplatform Mobile Docs 

iosApp の Run/Debug Configuration が自動で作られへん!

なんでや。

仕方なく手動で作って見ました。

scheme が読み込まれへん!

なんでや。

Fix ボタンで自動追記されましたが、明らかにおかしい。

なんでやねんな。

調べてみると、コマンドラインのツール選択ができてないとかなんとか。

👉 KMM plugin can't grab Xcode schemes : KT-41691 

再度、Run/Debug。

動かんやないか、なんでやの?

 

まとめ

プラグインのバグやないか。

It was fixed with ...

Situation is as follows.
If xcodeproj is not defined -- no iOS run configuration will be created.
If xcodeproj is defined then an iOS run configuration is created, but it is invalid and the reason is reported to user. This seems very logical: user deliberately targeted a Xcode project -- KMM tried it and reported back.

The fix is expected to be delivered in the next KMM plugin release (0.2.1).

👉 KMM plugin: Native run configuration is created for irrelevant (non-iOS) Native targets : KT-43792 


👉 KMM plugin releases—Kotlin Multiplatform Mobile Docs 

なんやこれ、待つしかないんか?

👉 Kotlin Multiplatform Mobile - Android Studio | JetBrains