Category Archives: iPhone

Visual Studio Community C# コードをXamarinでiOSと共有してみる その1

投稿が、日記のようになってきているが、日を追って進んでいるというで。一般的には進捗とか言うんだろうけど、そうなると仕事っぽく報告とか嫌いな感じになっていくのでそういう話はやめて書きたいことだけ書く。

C#プロジェクトのテンプレートに”Shared Project”というものがあり、どのくらいクロスプラットフォーム間でコードが共有できるか試してみました。
結局のところC#で書いたクラスをネームスペース上で使えるようになるというもの。

Desktop Appなり、UWPなり、Androidなり、iOSに依存したコードは書いた時点で、プロジェクト側がエラーを検知するようになっている。
一つのソリューション内に違うプラットフォーム用にプロジェクトを作っておいて、同じコードを使いまわすという想定なのだろう。

C#を中心にコードを書くのに、悪くない環境だ。下にあるスクリーンショットは書くプロジェクトのアイコンを示したもの。

この中でCSSharedProject1というのがShared Project。ちなみに、CPPSharedというのはWin32 C++のShared Project。それぞれ同じ言語でしか共有はできくなっている。Win32でDLLを書いて.NET側からDllImportなりでAPIを取り込むのとどちらがいいのかは、この時点では不明。

Win32で書かれた共有コードをC#に共有するためにはC++CLRでも書けるので、それぞれのクロスプラットフォームではコードレベルでの共有が有効かもしれない。

 

この共有プロジェクトを今回、VisualStudio2017 Communityに含まれることになった、XamarinでAndoidとiOSで共有ができることが確認できた。

注意が必要なのは、XamarinでiOSプロジェクトを書くときは、ネットワーク上にXCodeとVS2017がインストールされたMacが必要になる。しかもXCodeはiOS用にライセンスが必要。幸いiOS用のライセンスはあったのでVS2017 Community for Macをインストールしてサンプルをデバッグしてみた。

Windowsマシンからデバッグをスタートさせ、デバイスにiOS Simulatorを選ぶ。

その時点ではMacにVS2017がインストールされたいなかったので、リモートデバッグができないメッセージがでる。さらにXamarinのガイドでMac側のリモートログインを有効にしないといけないとのこと。(SSHを有効にする)

さらにSSHを有効にし、VS2017をインストールしたところで、デバッグを走らせると今度はXCodeのSDKのバージョンが古い。

今日はここまでで作業終了。

なんという長い手順だ。しかし、MacにVisual Studioをインストールして、リモートデバッグとはMSFTの好むやり方だ。

最近話題になっている、IoTデバイス(ラズパイ)のデバッグも同じ形式。ラズパイにIoT版Windowsをインストールして、デスクトップのVisualStudioからコードを書いてデバッグするという方法をとっている。もともとラズパイはスタンドアローンでパソコンとして動作するものをどうしてもう一台のパソコンを使ってプログラムを書かないといけないのか。Windowsをラズパイにインストールすればそれでいいはずなのに。

コードの共有ができたところで今日はここまで。C#で一度書けば、今のところ考えられる全てのデバイスで使えるのは良いところであろう。で?Arduinoは?やらないの?

 

 

ScanSnapを常時使えるようにしたいのにログインしないとスキャンできない。

数年前に本の電子化に使っていた、ScanSnap S300をデスクトップ機に常時接続して帰宅後すぐに紙の処理をできるようにした。(したかったけれど、スキャナを開いてボタンを押すだけにはできなかった)

今年に入ってから、IX100を買ってiPhone, iPad経由でスキャンしてはOneDriveに自動アップロードするようにしていたのですが、IX100では片面しかスキャンできない、何枚かの用紙をまとめてスキャンができない、一緒に買ったハードケースから出し入れが面倒。という点で外出や出張に使える以外は使用頻度が減っていた。

ので前に使っていた、S300を常時電源オンのデスクトップにセットアップして紙の処理をできるようにしようと考えた。ドライバと付属ソフトは、IX100用の最新のバージョンで対応できたのは非常に評価したいところです。

最近はネットワークアップデートが頻繁になり、アップデートの頻度は高いものの、古いハードの対応がされていなかったりすることがよくあるように思います。アンドロイド機のOSのアップグレードがされないものもよくありますが、そこはOEMの質を感じますね^_^。発売したのはいいけれど、OSがアップデートされた時に、OEM内部での組織が解散してしまっていたり、OSのビルドが外注だったりと出荷できればいいというOEMは問題だとおもいます。

今回、問題になったのはScanSnapのアプリはシステムトレイに登録される常駐型のソフトになっていて、もしウィンドウズが自動ログオフ、または画面がロックされて、常駐ソフトが走らない状況になってしまい、スキャンする時に毎回ウィンドウズにログインしないといけないという事。(ウィンドウズアップデートで夜中に勝手にリブートされる件は論外)

システムトレイという設計をしてしまった以上、こういう仕様になるのはウィンドウズの仕様なのですが、アプリをサーバー用途でも考えてほしかった。(LinuxではDeamonにすればいいだけの話)

なので、結局マシンは常時オンのままにしていても、一度はログイン画面をアンロック、システムトレイに常駐アプリが登録されていることを確認して、さらにScanSnapの蓋を開けて接続が完了される事を確認する作業が必要になります。

設定から、その辺の設定を見てみますが、”しばらく操作しなかった場合に、もう一度Windowsへのサインインを求めるまでの時間をえらんでください”という項目がありました。

そしてその設定項目。選択肢からは意味がわかりませんが、”表示しない”に設定しておけばスクリーンロックはされないように見えますが、ちょっと不明。

ロックされると困る環境ではない(どちらかというとロックされては困る)のでこの設定でしばらく様子をみてみようと思う。

 

 

まとめ:結局のところ、スキャナ単体でクラウド上へのアップロードができるのがベストであると思われますが、最新機種のIX500もWifiが付いているとはいえ、ウィンドウズか、スマホを介してクラウドへアップロードするのが基本のようです。

ここは、スキャナ内部にOneDriveや、Google Docのアカウント情報をセーブしてスキャナと同時にアップロードまでやってほしいところであります。Twitterやメールでファイルを送ってくれてもいいけど(コピー機がメール送信してくれるのは見たことがある・・・がサイズに制限があった)

  

ScanSnapの各種ラインナップ、価格リストはこちらへ。

追伸。スマホのカメラで撮れば勝手にアップロードするアプリあるやん。(IoTってそういうデバイスじゃないの?クラウドはデータの置き場であって、クラウドが頭脳になるIoTは使いものにならん!AIがんばりましょ^_^;)

やっぱりiPhoneは4インチサイズでいい

iPhone6を使っていましたが、やっぱり片手でしっかりつかめるサイズがしっくりくるので、iPhone6SEを台北101のApple Storeで買いました。出張で短期滞在なのでしっかり免税対象にもできました。(しかもこの時期はiPhone7発表の何日か前だった)

周りからは、やはり小さいサイズに戻るのは信じられないらしく、買う時にお店でも在庫を聞いた時に本当にSEを買うのですか?しつこく聞き返された。(気がする、というか態度だった)

あとは、帰国後ディズニーランド2泊3日、新宿一泊の予定だったので新宿高島屋のハンズでPorterのポーチを購入。(前にiPhone5を使っていた時のPorterのポーチはクリップの付け根の金具が抜けるようになってしまっていたので再購入)

dsc05979

そしてパスポートを入れるポーチも。

dsc05976 dsc05971

 

パスポートだけではなく、カード系や、コンデジも入れられるかと。帰宅後はパスポート保存用になるんだろうけど。。。そして現状使っているソフトバンクのiPhone5cと今回のiPhone6SE.ポーチには二つとも入るので満足。SDカードくらいのサイズのポケットが表にあるけど、たぶん使わない。何が入るか思いつかない・・・

dsc05982 dsc05987

そして最後に、iRing(Costcoで購入)装着のiPhone5c. このサイズになると特にリング系を付けなくても片手で十分しっかりつかめるのだが、ポケットから取り出すときや鞄から出すときに落としそうになったりするので、今はリングとフックを付けている。iPhone6SEにもiRingを付けようと思ったが、スクリーンの保護シートについてきた裏面用保護シートを張ったばかりで保護シートごと剥がれてしまうので、iPhone5で使っていたbelkinのレゴカバーを復活させてみた。(意外とiPhone5のアクセサリーって手元に残ってたりする)

dsc05993 dsc05997 dsc05999

で、今後はiPhone5cの2年契約が終わるので、これもiPhone6Seに乗り換えようと思います。今日現在ソフトバンクのページでは、iPhone6SEの一括の値段は69,840円。そして値引き後16,200円。かなりお得だ。Apple Shopなんかで買うならこれで十分かな。

機種代金/賦払金
(現金販売価格/支払総額)

2,910円/月(69,840円)

月月割(総額)

2,235円/月(53,640円)

実質負担金(総額)

675円/月(16,200円)

(頭金0円、支払回数24回、支払期間25ヵ月、実質年率0%)

 

機種代金/現金販売価格

69,840

月月割総額(月額)

53,640円(2,235円/月

実質負担金総額

16,200

ただし、日本版のiPhoneのカメラのシャッター音はミュートできないのが難点。街中でスクリーンショットとかを仕事を送る時にも音が消せないのでどうにかしてほしい。別に隠し撮りとかしてないのに目立つ。

これはおまけの新宿にいた猫の像。

dsc05968

追伸。。。なんかSoftbankの契約ページを見てたら、データ通信料7GBが契約になってるけど、使用料50MBとかになってる。(使用可能サイズ6.95GB)家のWifiがほとんどだし、車にはB-Mobileでデータ通信するのでパケット量いらないんだな。つうことは、iPhoneはSIMなしで使おうか。電話はスマートじゃないやつにして。データ通信なし契約なんてないんだろうけどね。B-MobileのデータSIMってiPhoneで使えるのかなぁ?