TestFlightにてXamarinアプリをiPhoneにインストールするまで2:XcodeのUpdate後、Xamarinでビルド不能

前回記事

前回から、一か月後、’24年1月21日にアプリを改修してVisual Stdio 2019 For MAC でビルドし、Xcode経由でApp Store へ更新アップロードを試みましたが、エラーとなりました。

一月前はできていたました。弊方の MAC Book Pro 2015 Early で使える iOS Monterey  では、Xcode 14.0 止まりと認識していたのですが、 Xcode 14.2 までUpdate可能となっていたので、「2024になり Appleサーバ が変わり Xcode と互換がなくなった 」のかと、Xcode 14.2 に Update しました。

しかし、Visual Stdio 2019 For MAC 「xcrun: invlid active developer path:」なるBuildエラーが発生しました。

他WEB記事情報によると、コマンドラインから「xcode-select install」を実行すると解消されるとありましたが改善せず。

どうもXcodeに応じた「コマンドラインツール」が必要という理屈のようです。Visual Studio 上にも警告が出てており、そこから「今すぐインストール」を選択しましたがエラーでました。

Xcode 14.2 コマンドラインツール」は、dmg形式のダウンロードもあるので、そちらをインストールしてみても解消せず。

八方塞がりになりましたが、xcode-select コマンドのオプションを観察し、直観でリセット「sudo xcode-select -r」を実行すると解消しました。この時sudo は必須。以下、その時の bash history の内容です。

Visual Studio でBuild時、「Apple SDK Not Found」的なエラーも発生しました。これは Xcode 14.0 → Xcode 14.2 にUpdate にともないSDKパスが変わってしまったようです。これは Microsoft の WEBに説明がありました。Appleのケア不足でがっくりしているところ、Microsoft のケア深さに感銘。メニュー「Visual Studio」→「ユーザ設定」→「SDKの場所」→「Apple」にて、「場所:」を「/Applications/Xcode.app」に変更します。

これで Xcode 14.2 でビルドがとおりました。

しかし、App Store への Uploadエラーは解消せず。パート3につづきます

SHマイコンのC言語組込み関数set_imask中身は?

SHでC言語で作る場合の割り込み禁止は、set_imask関数 です。最近の他ルネサスマイコンでの _EI( )、_DI( ) のように気軽に呼出してよいのでしょうか? アセンブラならシステムレジスタの 割込マスクBit 3つを立てるだけなので、一行で済むはずですが、、、

set_imask() のアセンブラ展開は、

むろん set_imask() はライブラリではなく、直接アセンブラにインライン展開されています。SHは、システムレジスタを直接更新しないポリシーみたいですね。

SH-2A、SH2A-FPUユーザーズマニュアル ソフトウェア編」によりますと、

命令ステート数
システムレジスタ読出し2
20bitデータ転送1
マスク値(レジスタ同士の)の加算1
システムレジスタ書込み 3
7

所要時間は、7ステート × クロック分解能 。100MHzだと、0.07usec。アプリケーションにもよりますが、負荷を気にして使う必要はなさそうです。

しかしながら実際のところ1usオーダーで消費しているように見受けられます。SHの5段パイプラインがこの場合止まってしまうとすると、0.07 x 5 = 0.35usec、もろもろでざっくり 0.5usec。msecオーダーの制御周期であればよいですが、100usec、50us制御周期の場合は厳しくなりそうですね。

他マイコンですと、メインコントロールレジスタに1bit割禁フラグがあって、アセンブラ一行でビット操作命令で割禁フラグを上げ下げできます。RL78なら、

知らずに同じ感覚で念のため程度でset_maskを多用していたら、知らずに性能を圧迫してしまいます。デリケートな割禁部は、後からメンテする人は恐ろしくて外せないでしょう。お困りの方はご相談ください。

SHでC言語のアセンブラコード展開を確認するには?

SHマイコンで、C言語のアセンブラコードを確認したくて以下の設定にしてみましたが、.src は出力されませんでした。そもそも「表示」って何でしょう?

もしかして、コード表示で「逆アセンブル」のこと? 確かに Hew のデバッガ上では確認できるのですが、コンパイラ単体で使用する場合は困りますね。

ビルド時の asmshの コマンドラインシーケンスを見てみると、”-list” の部分でしょうか?

.lis を開いてみると、元々 .src のコードだけ出力されているので違いますね。

他のオプションを探してみると、以下の部分ようです。

出力された.lst を開いてみると、他ルネサスマイコンと同様にCコードとの対比形式で出力されていますね。

SHで、C言語→アセンブラ展開を行うためのコマンドラインシーケンスは、

でした。

.xlsxを開くプログラムにExecl2021が指定できない

弊方では、Execl2021 と Execl2003 を併用しています。.xlsxを開くプログラムにExecl2021が指定できない事象が発生しています。OSは Windows 11 です。事象は以下のとおりです。

Win11の「設定」の方から、スタートメニューのショートカットを指定しても同じ結果でした。

先にExecl2021をプログラムメニュー等から起動して、.xlsx をドラックすればこの問題は回避できるのですが不条理です。レジストリを検索してみると、.xlsx は Execl2021 に割り当てられているようにみえます。

確かにExecl2021がインストールされている状態から、Execl2003をインストールしました。確かに2003で2021のことを考慮できるはずはなさそうですね。ただいま調査中です。

役員報酬昇給による社会保険料への申請

社会保険料への昇給の申請手順の覚え書きです。

e-Gov で行います。「e-Gov電子申請アプリケーション」を起動し、「手続き検索」もしくは「手続きブックマーク」から、「健康保険・厚生年金保険被保険者報酬月額変更届(単記用)(2019年5月以降手続き)」を選択します。この時、毎年7月の定期申請( 手続きの無駄だとおもうので廃止してほしい )用に、4月、5月、6月に固定された画面があります。それが開いた場合は「手続き検索」から「被保険者報酬月額変更届」を検索してやり直してみます。

以下に入力のポイントを記載します。

間違えるとやっかいなのが、3つの入力欄がある事業者整理記号です。これに関連するのは4つの要素があります。

都道府県コード2桁、公式一覧あり
市町村コード2桁、公式一覧なし
事業所記号3桁
事業所番号5桁

    当申請を始めた当初、NGを食らいまくっていました。TRY&ERRの末、市町村コード事業所記号事業所番号 の順で落着き、以来3年上記で入力していました。

    【’25.1月追記】しかし、ホバー表示で説明が出るようになり、そのは異なる内容でした。桁数も文字種checkもされないので、どちらが正解なのか判別つきません。 確認のため下記説明に準じて入力しておきました。

    以下のようにすすめます。なお本手続きでは電子署名は不要です。

    以上で申請は完了です。

    変更された社会保険料の支払いについてはこちらを参照。