プログラミングと音楽とアニメとiPhoneとiPadとMacとAndroidとLogicとギターとテニスと車

アプリ開発系の勉強メモやTipsなどを中心に他いろいろと書いていきます。

Androidエミュレータを起動したら Please install HAXM >= 6.2.1 というエラーが出る

Android Studio3.0でエミュレータを起動したらこんなエラーが出て、エミュレータの起動にめちゃくちゃ時間がかかるようになってしまった。

Emulator: WARNING: HAXM 6.0.3 is installed. Please install HAXM >= 6.2.1

このエラーメッセージの通り、HAXMのバージョンを更新すれば良いだろうとSDK Manager開いてSDK ToolsタブでIntel x86 Emulator Accelerator (HAXM installer)のバージョンを見たら、6.2.1がinstalledになっている。。。

原因がよくわからないので、とりあえずHAXMをインストールし直してみる。 そのままSDK ManagerIntel x86 Emulator Accelerator (HAXM installer)のチェックを外しOK。アンインストール完了したら、改めてチェック入れてOKして再インストール。

これでエラーが消えました。

Java9でjshellで使ってみる(Macへの導入編)

JDKJava Development Kit)インストール

http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html

  1. Accept License Agreement(利用規約に同意)にチェックして、jdk-9.0.4_osx-x64_bin.dmgをダウンロードする。
    f:id:travitu:20180210133854p:plain

  2. ダウンロードしたjdk-9.0.4_osx-x64_bin.dmgをダブルクリックしてインストール画面を開く。

  3. JDK 9.0.4.pkgをダブルクリック。
    f:id:travitu:20180210133940p:plain

  4. 画面の案内に添ってインストールする。
    f:id:travitu:20180210134002p:plain

JShellを使う

上記インストールまで完了すると、以下のディレクトリにjshellがインストールされている。
/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/jshell

1. ターミナルでjshellディレクトリまで移動する。

$ cd /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin

2. JShellを起動する。

$ jshell

f:id:travitu:20180210141015p:plain

3. これでJShellが使えるようになるので、後はJavaでコードを書いていろいろ試すことができる。
f:id:travitu:20180210141317p:plain

JDK 9 Oracle 公式ドキュメント

docs.oracle.com

【iOS】GoogleアナリティクスをiOSアプリに実装する

developers.google.com

このGoogleのドキュメント通りだが、FirebaseではなくGoogle Analyticsだけ使いたい場合にすぐこのページが出てこなかったのでメモを。

  1. CocoaPodsのPodfileに 'Google/Analytics'を追加
  2. 設定ファイル(GoogleService-Info.plist)を取得、プロジェクトに追加
  3. AppDelegate#import <Google/Analytics.h>を記述
  4. didFinishLaunchingWithOptionsに以下の初期設定的な実装を追加
// Configure tracker from GoogleService-Info.plist.
NSError *configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];
NSAssert(!configureError, @"Error configuring Google services: %@", configureError);

// Optional: configure GAI options.
GAI *gai = [GAI sharedInstance];
gai.trackUncaughtExceptions = YES;  // report uncaught exceptions
gai.logger.logLevel = kGAILogLevelVerbose;  // remove before app release

あとは、必要に応じたトラッキングを実装する。

Xcode 9 で古いプロジェクトをビルドしたときに出てきた警告など

This block declaration is not a prototype

void (^completionBlock)();

これはブロック構文の基本形
戻り値 (^名前) (引数)
で、引数がvoidのため()内を省略して書いている。 この警告を除去するには、以下のように引数にvoidを記述する。

void (^completionBlock)(void);

Missing submodule 'AVFoundation.AVAudioSession'

AVFoundationのimport文の書き方(パス)が変わったのか

#import <AVFoundation/AVAudioSession.h>

     ⬇

#import <AVFoundation/AVFoundation.h>

Values of type 'XXX' should not be used as format arguments; add an explicit cast to 'YYY' instead

意味:XXX型の値はフォーマット引数として使用しないでください。代わりにYYYへの明示的なキャストを追加してください。

printf("something = %ld", hogeValue);

     ⬇

printf("something = %d", (int)hogeValue);

【iOS11向け】無料で使える/遊べる ARKit対応アプリ

iOS11からARKitという機能が追加され、AR(拡張現実)を利用したアプリを開発できるようになった。そのARKitでどんなアプリが作られているのかを調べてみた。

ただし、ARKitに対応している機種はiPhone6s以降、iPadは第5世代やiPad pro以降となっている。これ以前の機種では対応していない。

ARでお絵かき系

  • World Brush

ARで現実空間にお絵かきできる

World Brush

World Brush

  • Active Theory
  • Entertainment
  • Free

ARで物体の長さなどを測れる系

  • AR MeasureKit

AR MeasureKit

AR MeasureKit

  • Rinat Khanov
  • ユーティリティ
  • 無料

  • AirMeasure AR

AirMeasure  AR

AirMeasure AR

  • Laan Labs
  • ユーティリティ
  • 無料

ARのゲーム系

  • Stack AR

ブロックを積み上げていくゲーム。シンプルで手軽に遊べるのがGood

Stack AR

Stack AR

  • Ketchapp
  • ゲーム
  • 無料

  • ThomasMinis

機関車トーマスが走るレールをARで作る

Thomas & Friends: Magic Tracks

Thomas & Friends: Magic Tracks

  • Budge Studios
  • Entertainment
  • Free

  • Drive Ahead Minigolf

パターゴルフのゲーム

Drive Ahead! Minigolf

Drive Ahead! Minigolf

  • Dodreams Fairytale Company Oy
  • ゲーム
  • 無料

ゲーム自体は2D上での操作だが、ゲームのステージがARで現れる?みたいな感じ

Flat Pack

Flat Pack

  • Nitrome
  • ゲーム
  • 無料

  • Zombie Gunship Revenant AR

ヘリコプターの機関銃でゾンビを退治するゲーム

Zombie Gunship Revenant AR

Zombie Gunship Revenant AR

  • Limbic Software
  • Games
  • Free

  • AR Dragon

ARで現れたドラゴンに餌を上げたりボール遊びしたりできる

AR Dragon

AR Dragon

  • PlaySide
  • Games
  • Free

  • AR Runner

ARで現れるフィールド上を実際に動いてチェックポイントを駆け抜けるまでの時間を競う。
これは基本的に屋外で遊ぶのが適している。

AR Runner

AR Runner

  • Semidome Inc.
  • ゲーム
  • 無料

  • My Country

ARのフィールド上で都市開発をして遊べる

My Country

My Country

  • Game Insight
  • ゲーム
  • 無料

ARで家具配置とか疑似体験系

  • Housecraft

ARで家具とかを配置できる

Housecraft

Housecraft

  • Sirvo LLC
  • Lifestyle
  • Free

  • AR Explorer Kit

これもARで家具とかを配置できる。なかなかリアルな質感。

AR Explorer Kit

AR Explorer Kit

  • plain code GmbH
  • Utilities
  • Free

IKEAの製品をARで実際の部屋に設置したりして試せる。

IKEAカタログ

IKEAカタログ

  • Inter IKEA Systems B.V.
  • ライフスタイル
  • 無料

ソフトバンクの携帯・スマホのSIMロック解除手続き方法のメモ

ソフトバンクの携帯・スマホSIMロック解除の手続き方法は主に2通り

  • 自分でMy SoftBankから手続きする
    • 手数料は無料。ただし、事前に新しく利用するSIMを用意しておくこと。
    • My SoftBankでの手順はこちらが参考になりそう。

ソフトバンクの「iPhone 6s」をSIMロック解除して、格安SIMを使ってみた (1/2) - ITmedia Mobile

  • ソフトバンクショップの店頭で手続きする
    • 手数料が3000円かかる。

www.softbank.jp

www.softbank.jp

「子供から大人まで」プログラミングが学べるサービス、アプリ、スクール、教室のまとめ【海外サービス編】

オンラインで利用できる海外のプログラミング学習系サービスを表にまとめました。
他にも良さそうなやつを見つけたら随時追加します。

英語の勉強にもなる!海外サービス

サービス名 URL
Udacity(ユダシティ) www.udacity.com
Codecademy www.codecademy.com
MIT OpenCourseWare OCW Course Index | MIT OpenCourseWare | Free Online Course Materials
Coursera Coursera | Online Courses From Top Universities. Join for Free
Khan Academy www.khanacademy.org