Category Archives: Mac

OneDriveでのTXTファイルの扱いが不自然な件。

最近、OneDriveの同期フォルダにローカルのgitリポジトリフォルダを置いてソースをMacとWinで共有している。今は一人でソースをアップデードしているのでこれで十分たりている。Winからコードをアップデートし、コミットすると同時にOneDriveの常駐アプリが即座にファイルをアップロードし、Macのソースコードもアップデートされる。

WinではUWPのコードを中心にアップデート、PCLの共通ライブラリはどちらからも必要な時にアップデートする。

Android のコードはWin、Macどちらでもエミュレータが使えるので慣れた環境が良いのだけれど、今後のモバイル環境、マシン依存を考えて、MBPでアップデートすることにする。

iPhoneのコードはWinでも更新可能だけれど、Win上でデバッグするとMac上でAppleのシュミレータが起動されてMac上でオペレーションをする事になるので、こちらもMBPに以降する。WinのUWPアプリは圧倒的にダウンロードするが少ないのでiPhone, Android, UWPの優先順位で行く。

そして本題ですが、

OneDriveを使っていて、Win10上でノートパッドを使って.txtファイルをOneDriveの同期フォルダに作成した。そして、iPhone、iPadで同じファイルを更新したかった。

しかし、iOS版のOneDriveで、TXTファイルの開いて内容を見ることはできるのだが、テキストの入力ができない。外部コマンドを見るも、txtファイルをそのアプリに添付するか、ファイルをダウンロードしてローカルに保存しようとする。Appleのメモ帳アプリでもTXTファイルを添付ファイルにされてしまう。

つまり、iOSからは直接OneDriveのファイルは更新できなくなっている。アプリそれぞれのデータファイルとしてしか保存できず。そのアップデートしたテキストもOneDriveに戻すこともできず。

PDFファイルで保存すれば、MSWORDかその他のPDFエディタを開けるけれど、TXTでは対応していない。

その線で次のアプリを考えて見るか。

iOS 11.1のアップデートをしたらXCODEのアップデートで時間を取られる。

ちょっと寒くなって来たので早く布団に入りたいですが、又アップーデートで時間を取られているのでメモ書き。

前回(いつかは覚えてない)、iTunesを起動した時にiOSのアップデートのメッセージが出ていたが、気づかず、ダウンロードしてインストールとなっていたらしく、今日iPhoneでアプリのデバッグをしていたら・・・

iPhoneが突然リブートしてOSアップデートを始めてしまいました。どうやら、iPhoneを接続した時点で自動でアップデートを始めたようだ。まあそのままアップデートが終わったらデバッグを続けようと思い、アップデート完了後デバッグを起動したら。。。

11.1でデバッグするにはXCodeのアップデートが必要ですというメッセージが出た。Xamarinのメッセージは以下の通り。

error MT1108: Could not find developer tools for this 11.1 (15B93) device. Please ensure you are using a compatible Xcode version and then connect this device to Xcode to install the development support files.

で、AppStore上でアップデートを見ると2.74GB。また作業が中断されてしまった。

人のせいにするのはよくないけどね。今日もアップデートをかけてそのまま寝ることにする。

明日は月曜日だし、頑張るか。

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は?やらないの?

 

 

Windows10でライセンスがないと言われた件。

MBP上で使っているVMWareのWindows10. 環境整備をするつもりで立ち上げたらなぜかライセンスがないと言われている。
フリーアップグレードが終わる前にライセンスのあるWindows8からのアップグレードをしたのにこのメッセージ。
リンク先はライセンスの購入ページ。27、864円なり。

フリーアップグレードしてもこれじゃね。こういう状況になっている人はどのくらいいるのでしょうか?
もともと2枚持っていたWindows8のDVDからOSを入れてアクティベーションもしてたのに。

最近はメッセージが表示された時点でなんでとか解決策があるのかすら調べる気にもならない。払えというなら、使うのをやめるまでだな。
今後VMWareにはLinux系のディストリビュータを検証目的で使うようにするか。

Creator UpdateのWindows Updateが出たあたりからマイクロソフトのアカウントにも連動しているような感じがしたんだけど。
今後はMBP一台で、長い出張で開発とかもしないといけないのに。Win10買ってまたVMWare上で蹴られるのもありえるしな。
素直にライセンスを買ってBootCampでデュアルブートが無難か。ちょっと策を考えよう。

Windows 10でWindows8.1ストアアプリをコンパイルしてみる。

えー、2台のPCのWindows10へのアップグレードも完了したところで、そろそろMBP2015を本格的に使い始めないといけないので、早速既存のWindows8.1用にリリースしていたコードをそのままビルドして、VM Fusion7 からアプリの申請ができるか試してみました。

結果的にはコードの変更は必要なかったものの、VS2013環境にMultilingual app toolkitとWindows10 SDKをインストールする必要がありました。Multilingual app toolkitには各国対応の翻訳リソースを使って言語のサポートを定義するプラグインで、Windows10SDKはストアアプリの申請の為に作成するパッケージをテストするWindows App Certification Kit 10.0 が含まれています。

Multilingual app toolkitはインストールしないと、ソリューションが開けません。

Windows SDK は最新バージョンをインストールしないと、VS2013ではストアアプリのテストが通りませんでした。その他のSDKの内容はよくわかりませんが、毎度の通りWindows10のネイティブなコードが含まれているはずです。(特にC++で使うのに必要でしょう)

とっととVS2015に乗り換えた方がいいのかもしれませんが、VS2015でWindows8.1のストアアプリが作れるのかはちょと不明ですので。(今の所まだ、Windows10のアップデートを拒んでいる方も多いはずなので、きっと今の最大公約数はWindows8.1がターゲットだと思います)

で、覚書のためにスクリーンショットを撮っておいたのでアップしておきます。

 

Windows 10 SDK ダウンロード画面

Windows10SDKDownload

インストール完了!
Windows10SDKInstalled

Windows 10 SDKのWindows App Certification Kit 10はテスト中の表示が改善されている。

Windows10SDKCertificationKitProgressストアアプリの検証完了!
Windows10SDKCertificationKitComplete

その後、パッケージをマイクロソフトのデベロッパーサイトにアップロードするプロセスは同じでした。これでMBP2015+VM Fusion7+VS2013でストアアプリが作れるようになりました。

さて、なに作ろ〜

ちなみに、作者のストアアプリはこちらからどうぞ。