なんか、以下の記事のように SpriteKit で PS4 を認識するように実装していたんです。
SpriteKit で ps4 のコントローラーのボタンを認識
https://nomad.office-aship.info/spritekit-controller
そしたら、iOSのバグっぽい挙動に遭遇しました。
あれ、「SKTransitionすると、Transition先の SKScene で NotificationCenter の Observer 立ち上げても、GCControllerDidConnect を受け取ってくれない???」
ググったけど、特に解決策もないし、それで困ってる人もいないようでした!
SpriteKit がマイナーすぎるからかな??
いや、Transision元のSKScene で remove observer してもダメ
そもそも Transition元の SKScene で add observer しても動かない
試しにアプリを最初から Transition先の SKScene で立ち上げる(Transitionなし)と、ちゃんと GCControllerDidConnect を受け取ってくれます。
これって、原因が SKTransition にあることは明らか。。。
これで困ってる人いないんですかね。
しょうがないので、無理やりの回避策として、SKTransiton なしで作るしかないですね。
SwiftUIを学ぶのにおすすめの本
SwiftUI 徹底入門
SwiftUIではじめるiPhoneアプリプログラミング入門
iOS/macOS UIフレームワーク SwiftUIプログラミング
コメント