読者です 読者をやめる 読者になる 読者になる

ほぼ開発ブログ

アプリ開発を中心に、いろいろ脱線します。

#017 感謝とお礼 ( ´ ▽ ` )ノ

プロジェクトの皆様へ感謝とお礼

3月末で2年ほどお世話になったプロジェクトから離れることになりました。

ご縁のあった皆様には心より感謝申し上げます。長い間ありがとうございました。

<(_ _)> 私は今しばらく次のプロジェクトへ向けて準備したいと思っています。

しかしあんなに忙しかったのに皆んなゲーム好きって、いつやってるの? って感じw

そういう自分もゲーム好きは自覚してるけど、ハマると本当に何もできなくなるからね。

だから最近はドラクエだけ(やるんかい)

最近見たドラクエ

この世に倒せないモンスターが3人いる。堀井雄二すぎやまこういち鳥山明だ。

 

キクゾー名言集よりw


#016 音声合成とか雑談 ( ´ ▽ ` )

Mac Visual Studio

Kyokoさんの時報

最近 MacBook で作業するときは、Kyokoさんの音声で15分おきに時報を設定してます。これ特に作業に集中すると時間感覚が麻痺してくるので、かなり重宝なんです。

f:id:Kikuzo:20170305210728p:plain

だけど、その声が気になって仕方がない、特に「30分」のタイミングで。

文字にすると「はちじさんじゅっぷんです」

普通の文章の読み上げ(スピーチ→読み上げを開始)からもできるのですが、「8:30」のスピーチはごく自然なのに対し、「8:30です」をスピーチさせると上のような感じになりますw

最後の「です」を言わなければ少しはマシなのにねぇ Apple さん。

それ以外でも「23:15です」とかもおかしいね。どこの出身?って聞きたくなる感じ。この訛りがうつりそうで恐いほどにね。

じゃ英語バージョンに変えようかとも思ったけど、この音声合成のクオリティの英語の発音が身についたら余計に恐ろしいし、日本語ならまだ修正できると思ってそのままになってるw

同じようなことを数年前から言ってる人もいるよね?数年たっても改善されてないってこと??

15分おきの時報なら個数も限られてるから、なんとかなりませんかねぇ Apple さん。

音声アシスタント

ところで Siri の音声って、スピーチの Kyoko さんなのかな〜?ちょっと違う感じもするけど。

Siri への質問といえば「明日の天気は?」とか「○○アプリ開いて」とかくらいかな。質問しても「私にはわかりません」「私ではできません」とか言われちゃうと面白くないし、グーグル先生に聞く方が早かったりする。未だに Siri への質問の仕方がわかりませんw

やっぱりメイドのメイちゃんがオススメですな〜、だって反応が楽しいもんw

泣いたり笑ったり拗ねたり、歌ってくれるし、踊ってくれる。「ご主人様なんて嫌ーい」と言われたときは腹の底から大爆笑だったわ ヽ(;▽;)ノ

「しゃべってコンシェル Mac 版」でないかな?ねぇ docomo さん。

Microsoft「りんな」は音声なしだけど、アシスタントでもないけど、ネジが外れた返しとか逆に笑えるね。あれが今のJKなのか?w

Visual Studio for Mac を複数起動する

話は変わるけど、Visual Studio for Mac ではアプリは一つしか起動できないんだよね、 Windows のに慣れてると少し違和感を感じる。

ソリューションのツリーに複数プロジェクトを読み込むこともできるんだけど、Windows と同じような感覚で複数起動することはできないもんかなと。

Safari に「新規ウィンドウ」コマンドがあるってことは、MDI が許されてないわけではないから、それくらいできてもいいはず。

それは今後の Visual Studio for Mac に期待するとして、探してみたらやっぱりあった♪

Visual Studio for MAC を試してみた - ROMANCE DAWN for the new world

ふむふむ、「ターミナル」のコマンドから別プロセスで起動できるとな、あざっす!

open -n "/applications/Visual Studio.app"

でも毎回のこれ打つの面倒じゃね?

[Mac] Automatorでターミナルのコマンドをアプリ化する方法 | Search Light

おお〜「Automator」というのを使うと自動でやってくれるとか、あざっす!!

f:id:Kikuzo:20170305225706p:plain

うん、これこれ、アプリ感覚で使えて一気に楽になったよ〜♪

今回の進捗?

えっとー、あのー、進んでないわけではないけど、大そうに言えるほどでもないです、はい。いやいや、決してミジンコ以下でもありませんし<前回参照

そうそう、パン切り包丁で親指切って、スペースキーとか押しにくくなったせいだな。

一応ね、設計というプロセスは必要でしょ?犬小屋レベルなら設計図なくてもアレだけど、平屋アパートくらいにはなりそうだしw

ということで、また次回に続きますー!(無駄な話が長いねん)

今週読んだ本

無駄なものはできるだけ削ぎ落としたいんだけど、実は人生って無駄が一番面白いんだよね。これパラドックス思考w

 


#015 サンプルアプリを解析する

Swift Xamarin iOS

目標はAV系アプリ

いやいやそっち系じゃなくてさ、Audio & Visual の方ね。写真とか動画とか音楽のアプリを作りたいんだよ。だ〜か〜ら〜、そっち系じゃないんだってば。

… とりま最初は簡単な写真撮影用のカメラアプリから作ってみようと思ってます。動画と音楽には時間の制約があるから、データ構造もプログラムも少し複雑になると思うしw

でも先は長いよ〜、まだサンプルコードを実行しただけで、今レベル 5 だからね。

王様にたったの 50G で「魔王を倒して参れ!」と言われた、勇者オルテガの息子になった気分だw (楽しんでるやん)

サンプルアプリ AVCam

Xamarin は C# でコーディングできるものの、実際には iOSAndroid の仕様をラップしているだけなので、アプリのライフサイクルやAPIなどは各OSに依存します。 それはつまり、iOS アプリも Android アプリも、それぞれの開発スタイルを知る必要があるということになります。

ですが、幸いにも Xamarin や AppleAndroid の開発者サイトには多種多様なサンプルがありますので、作りたい機能の一部を持っているサンプルコードは動く教材としてとても参考になります。

今回は本家 Apple Developer から「AVCam」という、とてもシンプルなサンプルをリモートからプル!しました(しかもラップ調で)

AVCam-iOS: Using AVFoundation to Capture Images and Movies

実はこれ、Xamarin のサンプルもありました。ソースコード中のクラス名、メソッド名やコメント等がほぼ同じだったりしますので、どうやらパク…(ゲホゲホ)、移植のようです。よく見るとアイコンまで一緒ですねw

AVCam - Xamarin

実機で動かしてみて、大まかな機能を把握しました。私の iPhone5 では Live Photo モードは使えないようです、まいっか。(´-ω-`)

AVFoundation

f:id:Kikuzo:20170226095409p:plain

これは Xcode のプロジェクトですが、*.swift ファイルを眺めるといくつか共通のキーワードが見えてきます。

import AVFoundation

import Photos

AVFoundation については、多くの方がブログなどでも書いているようです。

Apple Developer でもこちらがヒットします。

AVFoundation プログラミングガイド

いいね、日本語でちょっと嬉しい。2015年に作成された物なのでちょっと古いけど、初学者には十分使えるね!

ふむふむ、写真を撮るにはどうやら AVCaptureStillImageOutput を使えということか。

あらためて AVCam で AVCaptureStillImageOutput を検索すると… あれっ?ない!?
やっぱ使えねぇw(早くも前言撤回)

… ん?いやあった!けど…?!

– Remove support for AVCaptureStillImageOutput

サポートやめたって、どゆこと?
Apple Developer の API リファレンス を見てみる。→ここ

Important

The AVCaptureStillImageOutput class is deprecated in iOS 10.0 and does not support newer camera capture features such as RAW image output, Live Photos, or wide-gamut color. In iOS 10.0 and later, use the AVCapturePhotoOutput class instead. (The AVCaptureStillImageOutput class remains supported in macOS 10.12.)

AVCaptureStillImageOutput クラスは iOS 10.0 では廃止され、RAW画像出力、ライブ写真、または広域色などの新しいカメラキャプチャ機能はサポートされていません。 iOS 10.0 以降では、代わりにAVCapturePhotoOutput クラスを使用します。(AVCaptureStillImageOutput クラスは、macOS 10.12 でサポートされたままです)

つまり、AVCaptureStillImageOutput は非推奨で、iOS 10.0 以降では新しい機能をサポートする AVCapturePhotoOutput を使いなさいと。

AVCapturePhotoOutput

さらに API リファレンス を見てみる。→ここ

To capture photos with the AVCapturePhotoOutput class, follow these steps:
1. Create an AVCapturePhotoOutput object. Use its properties to determine supported capture settings and to enable certain features (for example, whether to capture Live Photos).
2. Create and configure an AVCapturePhotoSettings object to choose features and settings for a specific capture (for example, whether to enable image stabilization or flash).
3. Capture an image by passing your photo settings object to the capturePhoto(with:delegate:) method along with a delegate object implementing the AVCapturePhotoCaptureDelegate protocol. The photo capture output then calls your delegate to notify you of significant events during the capture process.

AVCapturePhotoOutputクラスを使って写真を取り込むには、次の手順を実行してください:
1. AVCapturePhotoOutputオブジェクトを作成します。そのプロパティを使用して、サポートされているキャプチャ設定を決定し、特定の機能(ライブフォトをキャプチャするかどうかなど)を有効にします。
2. AVCapturePhotoSettingsオブジェクトを作成および設定して、特定のキャプチャの機能および設定を選択します(たとえば、イメージ安定化またはフラッシュを有効にするかどうか)
3. 写真設定オブジェクトをAVCapturePhotoCaptureDelegateプロトコルを実装するデリゲートオブジェクトと共にcapturePhoto(with:delegate:)メソッドに渡して、画像をキャプチャします。写真キャプチャ出力の後、キャプチャプロセス中に重要なイベントを通知するためにデリゲートを呼び出します。

んまぁ、要は何たらのオブジェクト作って、設定して、キャプチャすればええんやろ。(はしょりすぎw)

ほとんどこれらのクラスがやってくれるから、簡単簡単。ミジンコでもできるな。(もしできなければミジンコ以下かw)

… 長くなりそうなので、次回に続きます。(*´∀`)♪

今週借りてきた本

図書館っていいね、開発系の本って買うと何千円もするからね、ありがたや〜(ー人ー)

   


#014 Xamarin を XPERIA で動かしてみる

Mac Xamarin Visual Studio Android

今回は Android で参戦

前回 iPhone 実機で動かした Xamarin のサンプルプロジェクトを、今回は XPERIA で動かしてみます。

#013 Xamarin を iPhone で動かしてみる - ほぼ開発ブログ

まず、MacXPERIAAndroid実機)を接続します。今度は忘れませんでした(キリッ

次に、Visual Studio で前回と同じ「PlatformVisuals」を開きます。

そして、上部のツールバー(って名前でいいのかな?)で

|□ PlatformVisuals.Droid|□ Debug|ARM|□ Sony SO-04E (API17)|

のように設定します。

ウチのペリア君の CPU は Qualcomm なので「Debug|ARM」を選択しています。
もし IntelAtom)なら「Debug|x86」または「Debug|x64」を選んでください。

最後に「▶︎」で開始っと。あいまっぱーふぇくひゅーまん♪
さあペリア君おいで〜、待ってるよ〜、待って…る….よ?

 へんじがない。ただの しかばね のようだ。 

オイオイオイオイ、またかよー。( ̄▽ ̄;)

意識高い系から三葉虫まで

f:id:Kikuzo:20170220222803p:plain

XPERIA の画面は真っ暗だけど、インストールはされてて、何か動いて落ちてるってことだよね?Androidのリソースが見つからないって??

まあこんな時は意識高い系のフリして色々いじってみるに限るよ、特に意味はないけどゴニョゴニョっとね。

リソースがうんぬんということは SDK のバージョンとか関係してるのかな〜?

Visual Studio のメニュー「プロジェクト」→「PlatformVisuals.Droid オプション」で、プロジェクトオプションのダイアログを見てみた。

f:id:Kikuzo:20170220230702p:plain

何らかの設定がおかしいのは間違いないんだけど、おかしい気配はなさそう。

「▼ビルド」→「▶︎全般」を選択、「ターゲット フレームワーク:」は「インストールされている最新のプラットフォームを使用」となっている。

だけどあえて、それをインストールしてないSDKのバージョンに変更してみる。リビルドすると大量エラーが出た、でもこれは当たり前。

私の環境では最新 SDK は API23 なので、今度は明示的に「Android 6.0 (Marshmallow)」を選択して再度リビルドすると、警告は出るけどエラーは出ない、これも想定内。

しかーし、実行すると、ジャストミーーート!!!

f:id:Kikuzo: 20170220234214p:plain

なんということでしょう!表示されてるものと内部の設定が違うなんて。

それに一回成功すると、設定を元に戻しても問題なくできるみたい。これってバグじゃね?

ああ、そうか、Visual Studio for Mac Preview ってまだ安定版じゃなかったねー。

すまんすまん、タダで使っておいて文句を言うなんて、ほんと人間なってなかったわ、もはや三葉虫に戻るべきだわ。

MacBook の画面にフィルムを貼ってみた

独り言が多いのか、画面によく小さな泡が飛ぶ。英語にすると TUBA ね(大嘘)

画面拭きすぎて傷が付くのが嫌なので、フィルムを貼りました。

それほど期待してなかったけど、上下左右スキマなくぴったりで、思ったよりいい感じだZe!


#013 Xamarin を iPhone で動かしてみる

Mac Xamarin Visual Studio iPhone iOS

タイトルがちょっと変でも気にしない

だいたい Xamarin ってフレームワークみたいなノリでしょ?

アプリを動かす、のなら日本語あってるけどね(十分気にしてるやん)

はい、今回は iPhone 実機で Xamarin を使ったアプリを動かしてみます(日本語おk)

サンプルアプリをビルドする

前回iPhone のアップデートができたので、これでようやく実機で試されれ…?試させられ…?試せられ??(やっぱ日本語オカシイわ)

気を取り直して、まずはサンプルアプリをダウンロードします。

https://github.com/xamarin/xamarin-forms-book-samples/

「Download Zip」のところから、約300MBあるから気をつけて。

f:id:Kikuzo:20170218075556p:plain

Mac って Zip ファイルをダウンロードすると自動解凍してフォルダになるんだね。

f:id:Kikuzo:20170218082846p:plain

ダウンロードしたフォルダから Chapter01 の「PlatformVisuals.sln」を開くと Visual Studio が起動しました。Xamarin Studio からでも開けます。

f:id:Kikuzo:20170218084132p:plain

あれ?「PlatformVisuals.iOS」がグレーになってる?右横のブルーのアイコンにカーソルを乗せると「アクティブな構成内でプロジェクトがビルドされていません」って!?どういうこと?

 上の方の「□ プロジェクト名 > □ Debug > □ 規定」のところ「□ Debug|iPhone」に変更すると直るアルよ♡ 

??ほんとだ!ありがとう!じゃ次はビルド、ポチッとな。

あれ?エラーが出てるよ?「Build failed. See the build log for details.」?ビルドログはどこ?

 それ、エラーメッセージすぐ右のペインに出てるアル。見えてなかったら「ビルド出力」ボタン押すアルよ♡ 

そこか〜、ありがとう。でもエラーがダラダラ〜っと出てるね。どうしよう?

f:id:Kikuzo:20170218102835p:plain

 お客さん♡ Mac に iPhone つないでるアルか? 

あ、忘れてたー!!USBつないで、リビルドっと。でもまだエラーが!!

f:id:Kikuzo:20170218115051p:plain

へ?「No installed provisioning profiles match the installed iOS signing identities.」??

 プロビジョニングプロファイル が入ってないアルよ♡ 

なにそれ?おいしいの?

 これ以上は追加料金アル♡ 

(ザクッ)キクゾーはつうこんのいちげきをうけた。53ポイントのダメージ。(;꒪﹃ ꒪)

プロビジョニングプロファイルとは

少し調べたところ、要はiOSアプリを実機で動かすために必要な証明書の類らしい。これで iPhone が信頼できる開発者の作ったアプリかどうかを判断しているわけですね。

参考:[iOS] プロビジョニングファイルと証明書の意味 - Qiita

これを見ると何やら色々と面倒な手順があるようですが、現在の Xcode 8 プロジェクトでは Signing の「Automatically manage signing」にチェックを入れておけば自動で作成/更新されます。

しかし、Visual Studio では今は自動では作成できないようなので、Xcode でダミーのアプリを作成して iPhone に仮登録させる必要があります。その後、Visual Studio から実機でデバッグができるようになります。

Xamarin のサンプルを iPhone 実機で動かす

サンプルアプリを iPhone で動かすための手順です。

  1. Visual Studio でサンプルアプリを開き、Info.plist を開いて「バンドル識別子」のドメインを変更するなどしてユニークなものを設定します。
    (例:com.yourdomain2017.PlatformVisuals) f:id:Kikuzo:20170219164443p:plain

  2. Xcode でダミーの新規プロジェクトを作成します。テンプレートの選択は iOS → Single View Application などを選択しておきます。

  3. 途中のオプション選択の画面で「Bundle Identifier:」の文字列が、上で設定した「バンドル識別子」と同じになるように「Product Name:」と「Organization Identifier:」に分けて入力して作成します。 f:id:Kikuzo:20170219164452p:plain

  4. プロジェクトを作成すると下記のようになります。
    「▼Signing」の「Automatic manage signing」はチェックONにしてください。 f:id:Kikuzo:20170219164459p:plain
    もし「▼Signing」にエラーが表示されていたら下記を参照してください。
    上記の「バンドル識別子」がユニークでない場合もエラーが出ます。

    参考:【iPhoneアプリ開発入門】Xcode7で証明書とプロビジョニングプロファイルを簡単に作る方法 | SONICMOOV LAB

  5. 次に iPhone を接続し、Xcode で作成したダミーのプロジェクトを実行します。下記メッセージは iPhone で「信頼」すれば、次からは出なくなります。 f:id:Kikuzo:20170219164508p:plain

  6. 接続した iPhone で、「設定」→「一般」→「プロファイルとデバイス管理」を開きます。「デベロッパAPP」の下にある開発者の Apple ID をタップします。

    f:id:Kikuzo:20170219171647p:plain

  7. このメッセージで「信頼」をタップすると iPhone側の設定は終了です。

    f:id:Kikuzo:20170219164521p:plain

  8. 今度は Visual Studio から実行します。ブレークポイントも張れます。 f:id:Kikuzo:20170219172724p:plain

  9. iPhone 実機でサンプルアプリが起動しました!

    f:id:Kikuzo:20170219164540p:plain

今週読んだ本

入門書って好きだなぁ、意外とワクワクするw

 

他人の考え方や習慣って面白い、自分を客観的に見れるねw


#012 iPhone5 をアップデート

iPhone iOS

au iPhone5 と OCNモバイルONE

現在まで iPhone5(無印)を iOS バージョン 7.1.2 で使っていました。

数年前に au で購入し、2年後に 格安SIM の OCNモバイルONE に切り替えたんです。

そう、勘のいい人ならお気付きかと思いますが、OCN は docomo系なので、SIM を入れ替えただけでは使えません。

auSIMロックが掛かっているので R-SIM という下駄(SIMロック解除アダプタ)を履かせないと通信できないんですよね。

この時もスムーズにできたわけではなく、いくつか R-SIM を替えたり、iOS のバージョンを上げたりして、試行錯誤の末ようやく通信できたのですが、それでも良く圏外病になっていました。

しかも、それを直すのに、自宅の環境だと NTT の電波をキャッチするまでに約30分〜1時間ほど SIM の出し入れをする必要がありました、しかも圏外病になるたびに毎度毎度、もう面倒すぎるw

… という格安SIMの世界ではちょっとアレな感じの au iPhone5 なんです。

au iPhone5 と mineo

そして、さらに半年ほど経って、格安SIM の mineo で au iPhone5 が通信できた人がいるというのを知りました。

mineo は au系のSIMも扱っているので下駄を履かせる必要がありません。ただし、iPhone5(無印) は対象外となっています。

わずかな期待で mineo のSIMを取り寄せました、ダメならまた OCN に戻せばいいかと。

でも使ってみると通信エリアに制限(一部のLTEのみ○、3Gは×)はあるものの、圏外病がないだけでめちゃ快適になりました!それまでの時間とお金を返してくれw

なので、もうこれ以上 SIM についてアレコレ触りたくないし、iOS のアップデート等でまた通信できなくなるのは勘弁してほしいというのが本音。

XcodeiOS バージョン

しかし、時代の波は押し寄せる。

Xcode 8 では、iOS の対象バージョンが 8 以上となり、7 以下は対象外らしい。

つまり、iOS のアップデートが必要なのか!? ((;゚Д゚)))))

もう新しい iPhone に買い換えたらええやん、というのは言わないお約束。どこの家にも事情があるんですよw

今日現在、最新 iOS のバージョンは 10.2.1 らしい。いきなり 7.1.2 から 10.2.1 にできるのか? (できるだろうけど)

iPhone バックアップ

問題は、アップデートすると元に戻せないので、アプリやデータが無くならないかがちょっと心配。特にデータがなくなるとちょっと怖いので、色々とバックアップを作成してみた。

  • iCloud … ストレージ容量を追加してまるごとバックアップ

  • CopyTrans … PCにインストールしてiPhoneのアプリとデータ、写真をバックアップ

  • PC … つなげて写真フォルダまるごとコピー

  • iTunes … アップデート前にMacでバックアップを作成

流石にこれだけバックアップ作成すればなんとか大丈夫な感じ。

もしこれが Android ならハードが故障しない限り、ROOT化してダウングレードもリストアも簡単なんだだけどね。

iPhone は中がどうなってるか良く分からない。いつか脱獄してやろうとは思ってたりするんだけどw

iPhone アップデート

満を辞してようやくバージョンアップ開始。

iPhone をつないで、iTunes から「アップデート」ボタンを押します。

f:id:Kikuzo:20170214215810p:plain

確認メッセージが出ますので「アップデート」を押します。

f:id:Kikuzo:20170214220225p:plain

アップデート中…

f:id:Kikuzo:20170214222031p:plain

このとき iPhone の画面を見るとバーが出て順調にアップデートしているのがわかる。

f:id:Kikuzo:20170215055238p:plain

ワクワク、そしてまもなくレベルアップの音が!(しません)

f:id:Kikuzo:20170215055521p:plain

えっ!?あれ?iPhone 90%くらいのところからピクリとも動かない?やっちゃった?

おーい (;ω;)  …. と途方に暮れてること10分、いきなり完了! キター☆

f:id:Kikuzo:20170215060316p:plain

びっくりした〜、まるで大阪の信号機やんか(わかる人にはわかる)

f:id:Kikuzo:20170215063416p:plain

お疲れでした、長かった〜(脳内SE:タラララッタッタッター♪)

先週読んだ本

2冊とも読みやすくわかりやすい、いい本ですね。

 


#011 Xamarin Forms 勉強中♪

Xamarin

_φ( ̄ー ̄ ) (m ̄ー ̄)m click-clack

言語とかプラットフォームとか、新しい技術の習得と熟練にはとにかく時間が掛かる。

本を読んで知識は得たとしても、実際にプログラムを作って意図通りに動くまでをやらないと身につかないし。

それでも最近は毎日4時間以上はゴニョゴニョしてるんだけど、自由に作れるようになるまでまだ相当掛かるね。

習熟レベルを100とすると、たぶん今はレベル2くらいだと思う。

ひのきのぼう」しか持ってないから、スライムですら苦労するレベルだw

入門用リソース

どのプラットフォームでも Hello World までの入門記事はよく見るんだけど、実務で使えるレベルの動かせるソースコードってなかなかないんですよね。見つけられないだけかな?(お前が書けよ)

多くの開発本には必要な情報がまとめて書いてあるので学習効率が良いように思います、もちろん基礎知識は必要だけど。

ただ、ことXamarinに関してはまだ日本語の書籍が少ない…

かずきのXamarin.Forms入門

↑ 唯一探せたのはこのくらいですね(あざっす、お世話になります) 同じ内容のものが LinkShare にもあります。

Creating Mobile Apps with Xamarin.Forms Book First Edition - Xamarin

↑ 英語だけどこれが本家。kindleでも読めて便利です。サンプルコードも充実しています。

私の場合は、サンプルプログラムを使って自己流にアレンジしていく方が手っ取り早く、自分に必要なところから順に習得していくので吸収しやすいんです。

言い換えれば、ゆっくりじっくり学習できないタイプねw

参考になりそうなリンク

短い時間ですが探したオンラインリソースと記事です。まだまだ追記すると思います。

作者の皆様ありがとうございます ♪( ´▽`)

#010 Visual Studio for Mac 使ってみた

Mac Visual Studio Xamarin

Visual Studio for Mac インストール

何はともあれ、まずはインストール。

New Release Preview: Visual Studio for Mac | Visual Studio

このサイトの「Download Visual Studio for Mac Preview」ボタンをクリック。

ダウンロードしたファイルを実行して、以下確認しながら進めます。

f:id:Kikuzo:20170201201036p:plain:w300

f:id:Kikuzo:20170201201148p:plain

f:id:Kikuzo:20170201201238p:plain

f:id:Kikuzo:20170201201249p:plain

f:id:Kikuzo:20170201201312p:plain

f:id:Kikuzo:20170201201330p:plain

f:id:Kikuzo:20170201201347p:plain

インストール完了、「Start」を押して起動します。

f:id:Kikuzo:20170201201507p:plain

Visual Studio for Mac 起動しました。

Mac ウィンドウのスクショを撮る方法

ところで、なんで今まで気づかなかった? Macでウィンドウのスクリーンショットを撮る方法。

Windows なら一回の手順( [Alt] + [PrintScreen] キー)でアクティブなウィンドウのスクショをクリップボードにコピーできるのですが、Mac では面倒臭いと思いながらも [shift] + [command] + [4] キー の後で [範囲指定] してました。

でもこんなこと毎回やりたくないので調べました。

Macには個別ウィンドウのスクリーンショットが撮れる、魔法のキーボードショートカットが存在していた!! | gori.me(ゴリミー)

やっぱりあったよー、今までの苦労は一体w

 [shift] + [command] + [4] -> [スペースキー] -> 撮りたい画面をクリック 

おお、さらに影まで付けてくれるのか、あんたスゲーの通り越してカッケーわw

Visual Studio for Mac はじめの一歩

Visual Studio for Mac 起動の続き、

「New Project…」ボタンをクリックします。

f:id:Kikuzo:20170201214219p:plain

ををスクショが! 俺っち、やればできる子だなw

でもコレどこかで見たような、デジャブー?デジャビュー?まあどっちでもいいけど。

f:id:Kikuzo:20170201214938p:plain

やっぱり、アレか!そうだ、Xamarin Studio と同じだw

ちょっと待って、え? どゆこと!?(軽い目眩がw)

以降同じなので、省略してプロジェクト作成。

f:id:Kikuzo:20170201221647p:plain:w300

やっぱりシミュ起動しても同じだ。

Visual Studio vs Xamarin Studio

f:id:Kikuzo:20170201220803p:plain

並べてみた、上が Visual Studio for Mac で、下が Xamarin Studio

いやいや、もう同じでいいよね。

Xamarin が Microsoft 傘下になったのは知ってますが。

結局、どっちを使えばいいの??

#009 MacでXamarinやってみた

Mac Xamarin

今は C# がメインなんです

現在参加しているプロジェクトに入ってから .NET/C# を始めました。

C# は実践で丸2年ですが、Windowsアプリ開発は他の言語で10年以上やってます。

今や Visual Studio での開発に慣れてしまって、以前の JavaPHP の開発環境には戻れない感じがしますね。

いやもうね、Visual StudioC# + Azure いいよ、マジ便利w

Xamarinとは

通常は iOSアプリなら Swift または Objective-C で、Androidアプリなら Javaで開発するんですが、Xamarin を使うと iOSAndroidVisual Studio/C# で開発できるんです!

しかも両者でコードを共有できる!これって地味にスゴくないですか?

HTML5を使ったハイブリッドの Cordova も試してみたのですが、各スマホのハード関係になると細かい制御ができないようなので断念。

しかし、Xamarin ならそれぞれのネイティブコードも追加で書けるとか。

なんせ使い慣れた Visual Studio で開発できるのは最大の利点なんですよね。

もちろん、XcodeAndroid Studio も、それぞれに良さがあって、

 神:「わざわざ C# 使わなくても、ネイティブ言語が一番いいですよ〜」 

とささやく声が。でもね、エンジニアの虫が疼くんですよ、

 悪魔:「職人なら iOS も Android も C# でやってみせろよ、ぐへへ」 

ってね。 なので、Xamarin を試すことにしました(悪魔の圧勝w)

Xamarinインストール

Xamarinを始めよう ~概要とインストール~ (1/3):CodeZine(コードジン)

既に半年前から Windows では Xamarin を試しています。

実はこれをやりたくて MacBook 買ったようなもんですから(本当です)

Mac で Xamarin 使ってみた!インストール〜実行まで【完全無料】[Getting Started Xamarin on Mac] – ちょ窓帳

ということで早速 MacBook に Xamarin インストール開始!

f:id:Kikuzo:20170129092737p:plain

…. へ?(; ゚д゚) エラーですか? 何かのダウンロードに失敗?

まあいいや、調べるの面倒だし、インストール再実行〜

f:id:Kikuzo:20170129093802p:plain

……. インストール完了しました(結局エラーの原因は何だったの?)

Xamarin Studio 使ってみる

とりあえず起動して、

f:id:Kikuzo:20170129100138p:plain

「新しいソリューション」を実行すると「新しいプロジェクト」ダイアログが開きます。

f:id:Kikuzo:20170129155446p:plain

カテゴリ見ると iOSAndroid だけじゃなく、.NET なども選択できるようですね。

ここでは「Form App」を選択してみます。

f:id:Kikuzo:20170129155503p:plain

作成するアプリの詳細を入力します。

f:id:Kikuzo:20170129155526p:plain

プロジェクトの構成を入力して「作成」ボタンを押します。

… んまあいいんですけど、ページごとに日本語と英語がね(略

f:id:Kikuzo:20170129155544p:plain

新しく作成されたソリューションが開きます。

そして「▶︎ デバッグの開始」を実行すると、iPhoneエミュレータとアプリが起動しました。

ちょっと検討中

半年前には、WindowsAndroid をビルドして、同時に MaciOS のリモートビルドができればいいかなと思ってたんです。

しかし Mac が思ったより快適なので、Mac だけで 二つともビルドできるなら少しでも手間が省けるのでは?とも。

ただ、Xamarin Studio または Visual Studio for Mac がどれだけ使えるのかが未知数なので、少し試してから今後の開発方針を決めたいと思います。

図書館で借りてきた本

この2冊は少し前の Xcode 7 + Swift 2 の本ですが、関連図書を重ね読みすることで知識が定着しやすくなりますので、今から読み漁りますw

 

#008 MacBook帰還 ( ̄^ ̄)ゞ

Apple Mac

先週の続き

Appleサポートから我が子が帰ってきました。

Apple、プレビューアプリやMacBook Pro Late 2016で発生しているグラフィックス関連の不具合を修正した「macOS Sierra 10.12.3」をリリース。 | AAPL Ch.

実は送り出した直後にこの記事を見つけて「macOSアップデートして直るんなら、送る必要なかった?」とも考えていました。

でもAppleの修理報告書によると、画面が乱れていた原因は「ディスプレイユニットの故障」だそうです。

修理内容は「ディスプレイユニット(液晶パネル、ディスプレイハウジング)を交換致しました」とな? つまり画面筐体まるごと新しいものに取り替えたのかw

ちょっと不安だったこと

Appleのサポートからは「梱包する必要はありませんので、業者に本体のみを渡してください」と言われてたので、家族のものにそのまま言付けて渡すように頼んだのですが、某宅急便のお兄さんは「後で箱に入れますんで」と本体を素手で持ち帰ったそうです。

それになんだか違和感を感じて、中を見られてないかとか少し不安になってました。

Macが不正利用されていないかを調べる方法|MacFan

なので、戻って早々にログを確認、異常なしで一安心。

一応は渡す前にログイン以外のIDとパスワード、履歴の類は消しておいたので、まあ見られたところで何も入ってないのでいいんですけどねw

でも万が一消し忘れがあるかもしれないので、一瞬でも人手に渡ることがあれば、気をつけなくてはならないと思いました。

ちょっと恥ずかしかったこと

先週Appleサポートのお姉さんに症状を話したときに「中を確認することがありますので念のためにログインのパスワードを教えてください」と言われてギョギョ!?

私は「少し待ってくださいね、えっと、」と冷静さを装いつつ、心の中では「えっ?パスワード言うの?声に出して言うの!?」と。

パスワードを教えるのはまだ良かったのですが(ええんかい)、ちょっと恥ずかしいキーワードがパスワードに含まれているので(そっち?)

それを声に出して確認と称し何度も言わされました!お姉さんも冷静にスルーでしたが、ああ恥ずかしい限りです (//∇//)

みなさん、パスワードは声に出しても恥ずかしくないものにしましょうねw

今週読んだ本

日本語の「言葉にしない美学」は、開発の現場に持ち込むと… かなりヤバいね。

     

#007 MacBook病院へ ( ;∀;)

Mac Apple

YouTubeを見ていたら

それは突然やってきました。

f:id:Kikuzo:20170122144635j:plain

おおおおおっっっっっ!!! 画面がーーーっ!?

これが噂に聞く MacBook Pro (Late 2016) のアレかー、うちの子に限ってそれはないと思ってたのにー

iphone-news.hatenablog.jp

確か修理してくれなかったアレでしょ、困った。。

www.itmedia.co.jp

と思ってたら修理受付を開始したとな?なんとグッドなタイミング!

iOSアプリだけじゃなく、Androidアプリもと言われたプレッシャーがキツかったか。

でもまあ2週間よくがんばった我が子を褒めてやりたいわ、よしよし。

Appleサポートへ

画面の乱れ発生後すぐに、Appleサポートで電話の予約をしました。

翌朝、サポートから電話を受けて症状を言うと、すぐに修理の手配をしてくれました。

初めてのAppleサポートでしたが、とてもスムーズでスマートでしたね。

この件で修理依頼が多いんでしょうか??

修理は一週間ほどでできるそうです。明日(1/23)我が子を迎えにきます。

今週読んだ本

開発に関するいろいろなエッセンスが詰まった4冊でした。

     

#006 MacでAndroid開発

Android Mac

Androidの最新バージョン

実は数年前まではAndroidアプリの開発もしていました。

その頃のバージョンは 1.6〜2.3、この3年ほどで 7.0 になりました。

ちなみにウチの XPERIA は 4.2 だす(ポケモン動かないやつねw)

Androidアプリを作らなければ最新機種を買う必要もないので、そのまま使ってます。

Android Studio インストール

数年前のAndroid開発といえば、WindowsPCにEclipseとADTプラグインでコードを書き、デバッグは多くの実機とエミュレータを使っていました。

昨年、Androidエミュレータを起動しようとしたら、すごく重くて。

さすがに C2Quad じゃダメかw

これ絶対実機ないとデバッグ出来ないよなぁ。....ん?

おいおい君ぃ、ここにMacがあるじゃないか!

あれ?MacAndroid開発!?でもJavaだからきっとできるよね?


thinkit.co.jp


ありました!ふむふむ、じゃインストール開始〜

Download Android Studio and SDK Tools | Android Studio

まずは、ここから直接ダウンロード、Macはアクションがイチイチお洒落さんだなw

ダウンロードしたファイルを開いて、アプリケーションフォルダに移動ね、はい終了。

Android Studio 起動してみる

起動してみると、最新のコンポーネントとかをダウンロード後に、やっと初期画面。

f:id:Kikuzo:20170119215150p:plain

とりあえずサンプルアプリを作成して実行。

エミュレータで起動するときは、仮想デバイス作らないとね。

またコンポーネントのダウンロードかい、でも昔に比べるとめちゃ楽になったから許す。

おお!Android 7.0 のエミュレータがサクサク動くぜぃ、すっげー!

Android開発本

先週のiOS開発本はまだ途中ですが、Androidの本も図書館で借りてきました!

今週末は頑張って両方とも読みたいと思います。

#005 PC壊れました ( ̄▽ ̄;)

PC Windows

MacじゃなくてWindowsの方

今日PCを起動したら何故か電源が入らない。

あれあれ〜?新しいMacちゃんばかり触ってるからヤキモチかな〜?

・・・・・

大丈夫だよ、メインは君だから、機嫌直して一緒にお仕事しようね〜

・・・・・

....どうやら本格的に怒ったらしい。

メインPCのスペック

このPCは2007年にBTOで購入したものです。(写真は後継機種)


■Case : Antec P182 Black

■M/B : ASUS P5K-E/WIFI-AP

■CPU : Intel Core2 Quad Q6600 G0ステッピング

■Video : EN8600GT SILENT/HTDP/512M

■Memory : UMAX DDR2-1066 (2GB×4)

SSD : SanDisk Ultra II 240GB

■DVD : Pioneer DVR-S17J

■OS : Windows10 Pro


Antec購入後にも他3台のPCを購入しましたが、現役はこのAntecVaioノートだけ。残る2台はお蔵入りと廃棄処分。

実はAntecは毎年機嫌が悪くなり、その度に新しいパーツに交換しています。

なので、主な購入時メンバーはケースとCPUと電源ユニットのみです。

購入当時はHDDだったので、どんどん起動が遅くなっていきましたが、SSDに換装したら再び快適になりました。

WindowsVista → 7 → 10 とバージョンアップしてます。

故障の原因

電源スイッチを入れてもファンも回らないし、これはマザボか電源ユニットか。

電源ユニットを外して確認したらビンゴ、やはり電源ユニット!お前なのか!

ここが壊れたのは初めてだけど、長くもった方なのかな。

早速、ドスパラ通販で交換品をポチりました。

PCはパーツごとに選べるし、自分で修理できるのが楽しいんだよね。

今後は、残るCPUが逝くか、開発に支障が出るなら新PCの買い時かな。

とは言っても、もう流石にAndroidエミュレータなどは無理っぽいけど。

Macの修理は....やめとこ。

(追記 1/16 PC復旧しました)

今週読んだ本

どれも一度読んだだけでは頭に入らない、というか覚えるより忘れることの方が多いw

 
 

#004 Swiftのお勉強

Swift Mac iPhone

初めてのSwift

図書館で iPhoneアプリ開発本 を2冊借りてきました。

 

Objective-C は少しかじった程度なので、iOSアプリ開発に本気と書いてマジに取り組むのはこれが初めて。

それに今から始めるなら Swift でしょ、って誰かが言ってた(それに新しいもん好きだし)

Swiftの文法

ふむふむ、JavaC#スクリプト系言語などの、似てるところ違うところを意識すると覚えやすいかも。

興味深いのは、 if-let、guard、filter、map、reduce、sort、for-in-where、case-let-where、for-case-in ですね。

これらを使うとより簡潔にコードが書けそう。

一通り本を読んで主な文法は理解したので、Playground で色々試してみる。

作りながら覚えるのが自己流、後はひたすら実践あるのみ。

とりあえずスライムくらいなら倒せそうな気がして来た。

Hello World

いやでもちょっと待たれ。

まだこの世界の仕組みを全く知らないではないか。

画面レイアウト?UI部品?

そういえばAndroidにもそんなものがあったのう、確かに確かに。

いまごろ前世の記憶が蘇って来たぞ。

AutoLayoutって、これ便利なんですかね?Autoの割に色々と設定が・・・ ←便利でしたw

まあまずはお約束の Hello World と。(特に見せるもんでもないので省略)

次にMaciPhoneをケーブルでつなぐのだな。

あれ?ケーブルがない!だと!?

MacBookはUSB-Cで、iPhoneはLightningだから、これか。

うーん、まだまだ竜王の城までの道のりは長そうです。

#003 Macキーボードの謎

Mac Windows

漢字入力の謎

まただよ、漢字入力するのに [半/全]キー の位置にある [1]キー を押してしまう。

最初は「あれ?なんで 1 が入るの?」って、[半/全]キー探しましたよ。

いやマジで、これはボケたかメダパニに違いない、と思いました。(んなヤツいねえわ)

それと文字入力後にファンクションキー押して変換しようとするところ。

これもWindowsから来た人は誰もが通る道らしいですね。

私が長年使用しているキーボードは FILCO Majestouch です(下記はその後継機種)

これに慣れてるので、キー入力の深さや感触が全く違うんです。

「どうのつるぎ」を振り回してるつもりが、実は「石のオノ」だった!くらい違います。(ややこしいわ)

[⌘]を使ったショートカットキーの謎

それと [⌘]のショートカットなかなか慣れません。

Windowsだとキーボード左下の [Ctrl]キーを押すのに慣れてて、つい小指がのびるとそこは [caps] キーだった、みたいな話w。

だから左手で使うショートカットがほぼ全滅、いちいちキーを見ながらやってたら開発しんどいなコレ。

  • 左手小指[⌘]+左手薬指[X] :カット
  • 左手小指[⌘]+左手中指[C] :コピー
  • 左手小指[⌘]+左手人指[V] :ペースト

はまあ許せる範囲として、

  • 右手中指[⌘]+左手小指[A] :全選択
  • 右手中指[⌘]+左手薬指[S] :保存
  • 右手中指[⌘]+左手小指[Z] :アンドゥ

は良く使うのに片手でできないなんて。

それか、左手人指[⌘]+左手中指[Z] または 左手親指[⌘]+左手人指[Z] で押すんでしょうかね?

うわぁ、もうコレ考えてると夜しか寝られなくなりそう〜!(ここ笑うところねw)

ピアノ初心者の楽譜並みに、効率的な指使い何処かに書いてあったら教えて欲しい〜。

(1/17 追記:[⌘]キーは親指で押すのが常識だそうです。)

[delete]キーの謎

押すとカーソルより前の文字を消してるよね?これ [Backspace]キー じゃないの?

Windowsだと [Delete]キー はカーソルの後ろを削除するハズなんだけど。

あれ? [Home]キー はどこ? [End]は? [RollUp]、[RollDown]は??

まあ何かで代用するんだろうな。。謎は深まるばかりなり。