Category Archives: iPad

iPadのアプリの自動アップデートも3G回線ではやめて〜

最近は会社の仕事をしなくなったので、ノマド風に自宅から出てどこでも仕事をする事ができるようになりました。もともと在宅勤務だったので外で仕事をしようと思えばできたのですが、気持ち的にデスクで上司の問い合わせに準備している状態が日常でした。

今は、ちょっとした用事で誰かを送って行って、車で待っている間にウェブを更新したり雑処理をこなしたりしています。意外と車の中って、景色が良かったり、静かだったり遊ぶ道具がなかったりで意外と集中できます。(この分だと、子供の習い事中とかも仕事できちゃったり?笑笑)

で、今回気がついたのは、何気なく家ではWifiを使っていてiPadのアプリ更新の設定が自動アップデートに設定されていて、なぜか3G回線ではワードプレスのアプリで記事を書いている裏で、アップデートが走っていることに気がつきました。気がついたらアプリのアイコンがインストール中になり、すんなりインストールを終わらせてしまった。

今使っている3G回線は、格安SIMのデータ従量制のもの。ダウンロードしたデータ量によって課金されます。

ポケットWifiを使っている時と、3G回線の時はオフにしておきたいですが、ポケットWifiを使っているかはiPadにはわかりません。常にポケットWifiを使って、自動アップデートは常にオフというもの何か違うような気がするし。

と言いつつ、設定ー一般ーAppのバックグランド更新を全てのアプリに対してオフにしました。

これでまた、一日の作業前に自分の手で、アップデートのチェック、アップデートの終了を待つという作業が必要になるのですね。ソフトのアップデートのなんて、半年とか一年に一回とかにならないかな。せめてOSアップデートも、イベントごとにとか。

マイクロソフトもWindows10が最後のOS とかいいつつ、Creator’s Update やら、アニバーサリーやらでサービスパック並みのアップデートもしてるしね。実際サービスパックのリリース周期よりも早くなってるし、Windows11になるくらいの変更してるみたいだし。OSはROMにして!お願いOEMさんたち。ユーザーが欲しいのはそんなんじゃない。xpのハイバネーションをROMに置いたやつとかでないかな。初期設定やユーザーが登録いらないから。

うちの子のバンダイのアンパンマンのパソコンの方が、すぐ使えていいのにね。OneDriveのファイル更新専用マシンとかでもいいから。

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がんばりましょ^_^;)

iPadで音が鳴らなくなるバグの直し方

前から音が鳴らないアプリがあったのですが、直し方がわかったのでメモがわりに書いておきます。

iPadの横にあるロックに音声ミュートを割り当てていて、音声がミュートになった状態で電源をオンにすると音が鳴らなくなるようです。これがアプリ毎にミュート設定があるので音がなるアプリとならないアプリが混在します。

リンクはこちら。

iPadで音が鳴らないときの対処法

IRKitというデバイスの可能性

Andruinoをベースした学習リモコンがいい感じですね。どうやらこのIRKit自体がウェブサーバになっていて、RESTやら、JSONでURLにコマンドを送ることで所定のIR信号を送信するようになっているようだ。HTTPサービス(apatche)で稼働しているようなので難なくカスタマイズもできそう。ハードウェアもオープンソースで回路が公開されている。一般ユーザもiPhoneアプリでWifi経由でコマンドが送れるようになっている。便利そうだ。

オフィシャルページ:http://maaash.jp/

いくつかの参考になるページ

http://y-nmc.blogspot.jp/2014/03/irkit.html 

音声合成との相性もいいはずだ。PCのUSB接続で使えるIRが売られていればそれでいいっていう感じもするが。HTTPで単体で動くというのがうれしい。