FC2ブログ

頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


Game Centerの認証に成功してるのにお帰りなさい画面が出ない

最近Game Center / GameKitを使うアプリについて調べている。
Game Centerを使う場合、通常アプリと違って事前にやることがある。

Game Center機能を実装する - Qiita

↑こちらのページなどを参考にしつつ、
Developer PortalでApp IDを追加
App Store ConnectでGame Centerを使う
などを設定。

Xcodeで新規のプロジェクトを作成。

まずは認証のチェックをしたい。Game Center対応アプリなら起動直後に画面上部にいつも出てくるあの画面。

Game Centerのおかえりなさい画面

↑このお帰りなさい画面(※)。これを表示させたい。

authenticateHandler - GKLocalPlayer | Apple Developer Documentation
↑リファレンスにあるようなごくシンプルなコードで確認してみた。
認証は成功しているはずなのだが、どういうわけかお帰りなさい画面が出てこない。


自分のiPhone実機で検証をしていたのだが、この時点でアカウントがテスターじゃないとダメなのか?ということでiPhone実機のユーザーを変更、、、
したくないよな、なるべく。
なのでiOSシミュレータでテスターのアカウントでログイン(自動的にGame Centerはオンになっていた)。
そのシミュレータで起動すると

Game CenterのWelcome back画面

↑ちゃんとWelcome back、お帰りなさいが出た!
つまりGame Centerアプリ開発するなら、デバイスはテスト用のアカウントを使ってログインしておくべき、ということか。


※ このスクショは最近やってる「1000m Zombie Escape!」というゲーム画面の上部。



===== 修正・追記(12/11) =====

Game CenterのWelcome back画面

↑勘違いだったようで、テストアカウントではない実機デバイスでもお帰りなさい画面が出た。

結論:テスト用アカウントじゃなくてもお帰りなさい画面は出る




Duet Display2にバージョンアップ

iPadをセカンドディスプレイのように使えるアプリとしてDuet Displayを使っている。
Xcodeでコードを書く時に左右に分割して右側に参考にしたいファイルを表示しつつ、左側で書くことが多い。時々あるんだけど、さらにもう一つのファイルを見たいという場合にDuet Displayを起動する。
という感じで重宝しているDuet Displayなんだが、、、

Duet Display 2はハードウェアアクセラレーションを使って効率アップ | TechCrunch Japan
↑今朝こういう記事を見た。
自分が使っているDuet Displayのバージョンを確認したところiPadのアプリ側は最新の2.0.8だ。
Mac側のをDuet Displayの設定にある「アップデートの有無を確認」で確認すると、、、

Duet Displayのバージョン確認画面

↑1.7.1.4で最新版らしい、、、?最新版だけど2以上じゃない?
よくわからないので、公式ページで最新版をダウンロード。
すると2.0.3.8になった。


少し使ってみたけど、処理速度の改善というのは正直よくわからない。そもそも表示させてるだけ、というのが多いし。
もしかして起動時に自分でAirPlayでDuet iOSを選択する、みたいな作業をしなくてよくなった?というのはいいな。

Duet Display2を使ったところ

↑デフォでTouch Barがオンになってる。使いづらそうな環境なので消したけど。
不思議なことにiPad側の画面の壁紙が昔のままだ。これは仕様なのか、変更方法が不明。
あと終了時に3クリックじゃなく2クリックにして欲しいなんて思ったりするが、、、
なんやかんやでいいアプリだ。



macOS Mojave 10.14.1
iOS 12.1


画像の判別がCreateMLでダメだったのでKerasでやってみた

CreateMLで2種類の画像を見分けられなかった話
↑ここでCreateMLだと2種類の画像の分類がうまくいかなかったことを書いた。
転移学習を利用しているCreateMLだと動物の分類などでは枚数がすくなくてもうまくいくが、今回のような課題には向かないのだろう、と思いCreateMLでやるのはあきらめた。

ただ、機械学習で見分けられない課題ではないだろう?と思ったのでKeras(TensorFlowバックエンド)で分類できるか学習させてみた。

NNの構成はCNNを使うMNISTと同じで、二層の畳み込み、ドロップアウトもありのまあサンプルコード通りのものだ。
実際に動かしてみたら(私のMacには)300x300の画像は大きすぎたようで、あらかじめ全ての画像を96x96にリサイズしておいた。

判定対象画像1

判定対象画像2

↑このサイズだとこのような感じ。Excellent!の文字の有無を判定する。

その結果のログがこちら↓

Kerasでの学習結果

Train 99.23%
Test 100.0%

いけるやんかー!!!そうだよな、CNN、お前はできる子や!
5epochだけやったようなログになっているが、この前にもやっているので実際には合計で30epoch弱程度やっている。
次はこの学習結果をmacOSアプリで利用できるようにせねば。


TrueDepthカメラとARKitを使う画面の背景をキューブマッピングで設定する

Objective-CでCGAffineTransformからSCNMatrix4へ変換する
↑ここでも少し触れているが、Appleのサンプルコード Creating Face-Based AR Experiences で自分の顔の位置・姿勢、目と口の開け具合を反映してロボットの顔を表示するのがある。

FaceTracking中のスクショ

↑こういうサンプルアプリ。

このようなアプリの場合、表示にはSCNViewのサブクラスであるARSCNViewクラスが使われてる。
TrueDepth cameraを使うARFaceTrackingConfigurationでsessionをスタートすると画面の背景には自動的に(特に記述する必要もなく)フロントカメラで撮影した画像が画面に表示される。

アプリの用途によってはこのフロントカメラで得た画像は不要で、SceneKitで描いた風景なんかを描いてみたい、という場合もあるかもしれない。
ということで背景をキューブマッピングで指定してみた。
{
    // Create a new scene
    SCNScene *scene = [SCNScene sceneNamed:@"art.scnassets/ship.scn”];//—(1)

    // Set the scene to the view
    self.sceneView.scene = scene;//—(2)

    scene.background.contents = @[@"sky_front.png", @"sky_front.png", @"sky_top.png", @"sky_front.png", @"sky_front.png", @"sky_front.png”];//—(3)
}
↑SceneKitを使うプロジェクトを作成すると(1),(2)のような記述がある。
その下に(3)のような6方向の画像を指定する。これは別にARSCNViewとか関係なくSceneKitでは通常の記述だ。
挙動を見たいというだけなので2種類の画像しか使っていないが😁
その結果が↓こちら。


デバイスの方向に従って背景画像が変わっている。

なお、現在のところ上記コードの(3)を(1)と(2)の間に置くとうまく背景が設定できない(そのうち直るかもしれないけど)。


Xcode 10.1
iOS 12.1


フォレストアドベンチャー祖谷へ行った

休暇村讃岐五色台のキャンプ場へ行ってきた
↑香川県五色台でキャンプしたんだけど、その後徳島県にあるフォレストアドベンチャー祖谷(いやと読む)というところへ行った。
祖谷なんて知らなかったし読めもしないところなんだけど、大歩危・小歩危の近く。

フォレストアドベンチャー・祖谷 | 自然共生型アウトドアパーク フォレストアドベンチャー
↑こちらが公式。

これがすごくよかった!小五の息子も大人も楽しめた。
子供の身長が制限をクリアしていれば家族で楽しめると思います。

フォレストアドベンチャー祖谷のアスレチック

↑ここはこういう高所でのアスレチックができるところ。木から木へなんとか渡ったり、ぴゃーっとスライド(ジップスライドと言うのか?)して行ったり。
高い所とはいえ相当安全に気を使っている。最初にスタッフさんから講習があり、器具の使い方やルールを教えてくれる。普通にやってれば物理的に落下できない仕組みになっている。
要所にはスタッフさんがいるのでこれも安心かつ楽ちん。写真撮影OKなので待ってる間に撮影とかしたり、家族をスタッフさんが撮影してくれたり。

キャニオンジップ

↑一番のウリはコースの最後にある360m超のロングジップ(画像は公式サイトより)。これだけ楽しむコースもあるらしい。

スタッフさんによると今までに携帯を落とした人はいない、と言うし私の前の女性も携帯片手で降りていったので、私も!ということで買ったばかりのiPhone XS Maxで撮影しながらロングジップに挑戦してみた。



↑その時の動画がこれ。景色がいいので途中からは単にiPhoneを持ってただけって感じだけど。
風の抵抗の影響などで8割くらいは後ろ向きで到着するそうだ。
景色もよかったけど、iPhoneの光学手ぶれ補正すごくね?と後から感動した。

フォレストアドベンチャー祖谷のコースマップ

↑このように帰りも少し短いけど同じようなジップスライドで帰ってくる(画像は公式サイトより)。


財布を持っていったけど使う場所も時間もないので不要だった。
トイレもすませておくこと。軍手も必要(売ってたけど)。
何か持っていく場合はチャックできるポケットのある服がいい。
それからよごれてもいい服で行きましょう↓





  TopPage  



Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad