他言語から初めてSwiftを使うとき知っておくべきこと

Swift : スズキの自動車、オートバイも製造しているメーカ故N/Aで良く回りそう。。。ではなくPG言語らしくない紛らわしい名前です。Xcodeのメイン言語、C#/Javaより少しシンプルでちょっとVB6っぽい感じもします。やりたいことからコードの書き方の解説、ゼロからの解説WEB記事は多数ありますが、当方は他言語と違うとこだけ端的知りたい。それらをまとめてみました。

特別な記号や表現

変数の末尾の「 ?nullを許可するの意。非許可変数間で直接値は渡せないので要注意。
引数の前の「 _省略が可能な引数を示す。C++のようにデフォルト引数値があるのかは知らないです。
関数の「 ) 」に続く「->リターン値の型。世界標準に反しています。C# の「=>」ように特殊なのかと思いましたがそうではなかった。
nilNULL/nullの意。連想つきますがWEB検索すると他の用語が沢山でてきます。
@State値が変化するクラスメンバ変数
var変数宣言。これはなぜか普通。
let 定数宣言。VB6のLetプロパティとは違う。
print()等への改行コードMAC上で “¥n” では改行コードと扱われず、「\」のキー位置ほ探して「\n」を打つ必要がある。

Framework(?)

大きく2つあるようです。100%互換は無いようで、WEB記事を見るときはどちらで書いてあるか確認する必要があります。

SwiftUI最近のヤツらしい。
Swift Storyboardシナリオっぽいネーミングなので部分機能かと勘違いしています。

コード構造(SwiftUI)

  • まず画面クラスがStructで始まり困惑する。
  • 行末の「 ; 」はない。
  • 画面定義と処理部が混在する構造。
  • Namespace はあるのかよくわからない。
  • switch defalut 無いとビルドエラーとなる。
  • スクリプト言語っぽいが、文字列に数値を結合するときは明示的に変換( String(数値) )が必要。
  • new は無い模様。

IDE

  • まず GUIを選択するToolBox をどこから開くの分からない。画面エディタの少し離れた右上隅の小さな「」をクリックするのですがこんなの分からない。 Visual Stduioも Adnroid Stduio もメニューや明らかに分かるアイコンが設置されている。あえて隠している?
  • GUIのプロパティが全て表示されない。何のプロパティがあるか別で調べないといけない。
  • 自動メンバ表示は一応ある。
  • 標準のメソッドやプロパティのヘルプが素早く呼び出せない。マウスオーバしてもヒント的なものが表示されない。
  • 日本語化されていない。
  • vi modeが標準装備されている。VS for MACのプラグインは日本語入力が狂いますが、こちらは割と使えます。 たた基本操作程度で、 : コマンド などは未対応は多いです。

中々慣れを要します。随時更新中です。

iOS17対応(xamarin込みで)の開発環境を安価に作る1

Appleより、「‘24.4月29日にiOS17向けに App Store にアップロードするのは、Xcode 15 を用いなければならない」 と宣言がありました。こういうことは一年前くらいに言ってほしいですね。

Xcode 15の要件は、macOS 13以降。

弊方のMAC Book 2015macOS 12 までしかUPできません。

しかしmacOS12 では、Xcode14.2 までしかUPできません。

よって新しいMACを導入する必要があります。中古で買えそうリストアップしました。この年代になると、ストレージが基板直付けになっていて容量UPできないとのことで出荷時の容量が重要です。iOSシュミレータはとても容量を食います。 現在導入済みのMAC Book 2015 は512GB なのでそれはキープしたいところです。

機種SSD容量GBOS中古価格底値課題
MAC Book Pro 2018512135万円以上
MAC Book Pro 2018256134万円程度KB部分破損、液晶部分破損品が多い。
MAC Book Air 2018128132万円後半台Buildは結構重いためCPU厳しい。
MAC mini 2018 128142万円後半台MAC Book ProよりCPU高スペック
MAC mini 2018 256143万円後半台
MAC mini 2018 512145万円以上

512MBモデルは手がだせません。 MAC Book 2015Xcode 14 + VS2019forMAC + 各iOSシュミレータ で使用率は30%くらい。近々では256GBでもよさそう。

MAC Book 2015 から画面共有すれば画面とキーボードはあるので MAC mini でもよい。 最新OSにも出来きて、Xcode 16 まで使える可能性もありそうなので、MAC mini 2018 の256GB版 を入手しました。

写真でみるとカッコ悪いですが、現物は筐体のエッジもシャープで、キレイなアルマイトが施され感動します。このエッジは金型では成型できないので削りだしでしょう。実務には何も役にたちませんが…

OSは前オーナーさんが最新にしてくれていました。

取り急ぎ以下2つをインストールします。Xcodeが最新にできるので、Visual Studio for MAC も最新にできます。

  • Xcode 15
  • Visual Studio 2022 for MAC

この時点でのストレージ容量は、、、まずはしばらくは持ちそうです。

開発中のアプリをVS2022 for MAC にて TestFlight 用でビルドしてみるとエラーが、、、プロビショニングプロファイル てが当たっていないようです。VS2022上ではプロファイルのダウンロードは行ったのですが、、、

どうもプロビショニングプロファイルは Buildマシンにも依存するようですね。MAC mini にて証明書を生成し同プロファイルを追加作成してみました。この時、VS2022 の Apple Developer の設定をみますと、マシン名が2種類(青下線部)現れています。MAC Book 側の証明書はエラー(オレンジ部)が出ています。

MAC mini 側の「状態」が「有効」になったので Build を進めます。再び同プロファイルの選択でひっかかり、プルダウンから選択可能な以下の設定ですすめます。”iOS Team Provisionning Pro…“とは何だかは分かりません。 TestFlight用IPAは生成できました。

App Store にアップロードしてみましたが、、、うげげっ

WindowsではProjectフォルダを丸コピーしても問題ないですが、Appleはそうはいかないようです。

Googleアドセンスの初回一か月の成績

弊社が当ブログを題材にして、Google アドセンス にトライした最初の一か月成果です。得られた技術をいかにもれなく換金するかがテーマとして始めました。

なるほど。広告クリック率は相当低いのですね。小生自身もめったにクリックしませんが、、、

なお「9999クリックに達しました」とGoogoleより自動メールがとどきますが、あちらはGoogle検索からのクリックされた回数のようです。それを見て「こりゃすごい」と思っていましたがそんな甘くにないですね。より良い情報発信ができるように精進いたします。

Xperia Z3 tablet Compact LTE版をAndroid11当にupdateする4

前記事

Z3 Tablet Compact LinageOS18,1 にてAndroid11相当 に update できまましたが何点か問題がありました。同端末はLinageOS以外のAndroid派生OSが色々とあります。そちらを試してみました。


OS名 : e-OS File : e-1.13-r-20230725-CUSTOM-z3tc.zip

e-OSは、iOS風のAndroidのようです。iOS でのアイコンを長押しでルブル状態などが再現されています。こちらもAndroid11相当。なるほど、iOS慣れしている方には二粒おいしいですね。こちらでは、LinageOS18.1では動作しなかった GPS が動作しました。

e-OS をインストールすると、リカバリも e-OS 用になります。特別専用的な機能は無いようですが。

e-OSの評価結果は以下のとおりです。

  • LinageOSと同様にラジオの周波数が87より下に行かない。
  • FMラジオは強制停止しないと終了しない。
  • open gapp がインストールできない。Google play もインストールできない。
  • open gapp の Google Play かわりに App Lounge というものプレインストールされ、そこから掲載されているアプリはインストールできる。上右図。課金機能はなくfreeアプリのみ。

OS名 : iodèOS File : iode-2.14-20230829-z3tc.zip

iodèOSはボリシーはよくわかりませんが、なんかキレイ目な感じです。 OS名に、eに上カンマ 文字の使用されているところからわかるようにフランス製とのこと。 LinageOSの派生、Android11相当。

iodèOS の評価結果は以下のとおりです。

  • Google Play が、当OS用ストアからアクセスできる模様。(下図)
  • Google Play で購入したライセンスは弾かれてしまう。(下下図)
  • e-OSとはポリシーは異なり、操作方法はノーマルAndroid準拠。
  • Magic earthで地図確認できる。
  • LinageOSと同様にラジオの周波数が87より下に行かない。


以上のように他OSではGPSは動作するもののGoogle Playとの連携がうまくないです。他OSはLinageOSより少しリリース日が新しい。 Android File Host以外でLinageOSの最新をさがすと、lineage-18.1-20220710-4microg-UNOFFICIAL-z3tc.zip が見つかりました。こちらは GPS を認識しました。しかし他の端末に比べ応答速度が遅いようです。CPU能力の問題でしょうか?

これでGPSは有効化できました。後はFMラジオの周波数バンド範囲です。パート5に続きます。

NP掛け払いに登録してみた

とあるサービス事業者さんよりご請求が直接でなく「NP掛け払い」なるサービスさん経由で来ています。個人向け、法人向け問わず収入代行は増えているようです。「取り立て」も代行に含むらしいのでその手間暇と、直接口座番号をさらしたくない事情があるのかもしれません。(これはこれとして相手が信頼しにくくなってしまう気がします)

代行屋さんのWEBページを拝見しても、実体が良く分かりません。取引先からも具体的な手順の説明はなかった気がします。少し解説してみます。


タイトル「NP掛け払い***請求先名」でメールが飛んできます。表題が長いので先頭だけしか見えないと、振込サギかと思い削除してしまいそうです。請求書のURLが添付されてます。pdf直リンクでログイン等は不要です。パスワードなし。URLが漏洩すると誰でも読めてしまいますね。(代わりに誰か払ってくれたらラッキーですが)

金額、振込先(代行者の口座)、代行者名、請求元、のほか「紐づけキー」なる項目が記載されています。カード決済用のURLでも生成してくるてるのかと思いきや、結局口座振込のみです。「紐づけキー」の上に「マイページ」なるキーワードが記載されています。

請求書に「マイページ」に記載されたURLへ飛ぶと、

メアド入力を求められ、

メアドから支払い元の登録ページのメールが届く、

支払い元の登録をします。

登録が済むと「紐づけキー」が入力でき、未払い案件 と 過去の支払済み案件 がリストされます。なるほど、払いが受付けられたかが確認できるようになるわけですね。

未払い案件を表示すると「振込先口座」とともに「口座振替」ボタンが現れます。

口座振替」の場合、振込手数料は掛からなくなるようです。自動的に27日に引落しされるとのこと。売上入金が月末だとするとちょっと都合悪いです。いきなり引落しはリスクを感じます。郵送による申請と審査もあり、すぐに利用できないようです。

総じて、単に支払いだけなら「マイページ」登録き必要なさそうです。

カード決済( 弊方はデビットしかありませんが ) ができるといアピールがあったので手続きを進めてみました。弊方が利用しているGMOあおぞら法人口座ではデビット決済するとキャッシュバックがあります。

マイページ」とは別で申請が必要でした。メアド入力を求められ、メアドから支払い元の登録ページのメールが届き、登録ページを開きます。利用規約の承諾が求められ、ここで「サービス手数料」なる説明が初めて現れます。具体的に額は記載がなく「会員ページに記載されている手数料」とだけあります。他「代行するための振込手数料も必要」との記載もあり。特にお得になることはなさそうです。

カード決済にすると支払いが60日先になるとのこと。そこまでは必要ないのですが、何かの保険としては蟻かもしれません。手続きを進めると最後に「審査開始」ボタンまで行き着きまます。そこで弊方はやはり申請は控えておきました。

結局、支払いは素直に振込としました。GMOあおぞら法人口座でからの他と変わらず手数料は145円。振込時に請求書番号を、フリコミ者名欄に追記しろとかの要請はなかったようです。案件と振込の結び付けがちょっと心配ですね。


以上、支払い側にはあまりメリットはなさそうです。

AQUOS PAD SH-06F のカスタムROM化は可能か?

問合せがあったので調査した結果です。

情報がないようです。日本国内のみで、海外で販売されない端末は、カスタムROMが作成されにくい傾向があります。SH-05G (Android 5)もカスタムROM を探してもありませんでした。

Yahoo掲示板での一般的な見解がここにもありました。

Sharp L-04C のカスタムROM化は可能か?

問合せがあったので、その調べた結果です。

こちらもハードウェアキーボード付きの端末ですね。2011年発売と古すぎて、ぱっと調べると、古すぎで ROM 置き場のURLが切れています。Android4.4が限界のようです。

ヤフオクで、Android4.4 版がたまに出品されているみたいですね。

BlackBerry KEY2 BBF 100-9はカスタムROM化可能か?

問合せがあったので調べた覚書です。

BlackBerry KEY2 BBF 100-9 は、ハードウェアキーボードつきの端末ですね。

ぱっと調べるとXDAにこのスレッドがありました。Android10は無いの? Android9もupgreadできないとの内容のようです。

有名な ROM の置き場では何かファイルがおいてありました。2.5GBとそこそこの容量ですがネーミング的にカスタムROMではなさそうです。”china”とあるので純正ROMかもしれません。

ハードウェアキーボード付きだと、 他Andoirdとプログラムコードの共通性がないのかもしれませんね。

arrows Tab F-02K のカスタムROM化は可能か?

先刻問合せがあったので、その覚え書きです。

arrows Tab F-02K 、10インチ、高耐久 たしかによさげな端末ですね。しかし国内販売のみの製品はカスタムROMはほぼないです。Android File Host では検索ヒットせず。純正でAndroid9までバージョンアップが可能なら当面はそれでいいんでは?

Googleアドセンス向け法人居住者証明書の申請

自社WEBサイトにGoogle広告を掲載させるための仕組み:Googleアドセンスの税務情報には「居住者証明書」が必要です。これはe-Tax等での電子申請はなく、紙による申請が必要です。他WEB記事でも多数説明がありますが実際に実施してみたところをレポートいたします。

  • PDF上から入力でOK。
  • 法人でも登記簿は不要、申請者の証明書でOK。
  • 費用はかからない。

取り急ぎ郵送で申請書を税務署に送ったのですが、以下の指摘がありました。

「居住期間は申請日に対して月末日まで満了している必要がある」

つまり以下のケースはNGです。

以下、訂正です。

初回は郵送しましたが、訂正は手持ちしました。16時くらいに。訂正を確認していただき、後送付と思いきや、「今から処置するのでしばらくお待ちください」とのこと。15分程度で証明書を発行いただけました。

手持ちして証明書が出来て取りに行くかと思い郵送にしましたが、窓口が閉まる寸前でもなければその場で処置してくれるようです。一回の訪問ですむなら郵送は不要そうです。指摘があればその場で直せるでしょうし。込みそうな都内や横浜はわかりませんが、、、

Google お支払いセンターに、当初、登記簿を申請して「書類が違うか期限が切れています」とNGをくらいました。「期限が切れています」に着目して最新登記簿を入手して申請してもNG。「登記簿をだせばOK」というWEB記事もありましたが時期の違いかそれだけではNGでした。

Google お支払いセンターに、「税務情報の書類は何を出せばよいですか」と質問をしてもレス無しでした。国ごとに事情がちがうので聞いてもムダなようです。ちなみに2年前にMicrosoft Storeの申請をしたときは「居住者証明書」は不要でした。