2016-05-27 13 views
3

TVMLアプリのSiriリモコンから「Menu」ボタンを押したときにアプリをバックグラウンドに送信する方法がわかりません。私はTVML開発の初心者です。Apple TVML:SiriリモコンのMenuボタンを押したときにAPPを送信

私はTVML開発に手を入れていましたが、アプリが起動するとすぐにビデオを再生している小さなデモアプリを作成しました。今、問題はAppleのガイドラインに従っています。私がルートページにいて、リモコンのメニューボタンを押すと私のアプリはバックグラウンドに移行します。

これで私のアプリはそれに応じて動作しません。私は1つしかない

override func pressesBegan(presses: Set<UIPress>, withEvent event: UIPressesEvent?) { 
     super.pressesBegan(presses, withEvent: event) 
     if presses.first?.type == UIPressType.Menu { 


     } 
} 

override func pressesEnded(presses: Set<UIPress>, withEvent event: UIPressesEvent?) { 
     super.pressesEnded(presses, withEvent: event) 

     if presses.first?.type == UIPressType.Menu { 

      exit(0) 
     } 
} 

-

pressBegin()とpressEnded()関数をオーバーライド
UIApplication.sharedApplication().beginReceivingRemoteControlEvents() 
self.becomeFirstResponder() 

override func canBecomeFirstResponder() -> Bool { 
    return true 
} 

override func remoteControlReceivedWithEvent(event: UIEvent?) { 

} 

- 以下のようFirstResponderになるために私のappDelegateを(登録

):私のような多くのソリューションを試してみました。 jsファイルにapplication.jsという名前をつけて、フォルダ名サーバーに保管し、リンゴガイドラインに従ってアクセスしました。 AppleのTVMLCatalogUsingTVMLTemplatesプロジェクトをダウンロードしましたが、ルートメニューとメニューボタンを押しているときに、バックグラウンドにアプリを送信するコードをどこに追加したのか理解できません。

私はちょうどapplication.js内の1つの機能を持っていると私は完全に正常に動作しているApp.onLaunch = function(options){}

すべてでそれを呼んでいます。私はちょうど私のapplication.jsファイルまたはappDelegateで私のアプリがメニューボタンが押されたときにバックグラウンドに行くことを書くべきコードを知りたい。 注:階層や子のコントローラはすべてapplication.jsから実行されていません。したがって、私のapplication.jsはルートメニューであり、メニューボタンを押してバックグラウンドでアプリケーションを送信するだけです。

は、事前にありがとう:)

答えて

2

それはそれは月をされていると誰も恵みがこの質問に設定した場合でも、この質問に答えていないことを奇妙だ!!!それは愚かな質問だったかもしれません。

どのように私は私の答えを得たので、私はそれをすべてと共有しています。

実際に問題は、ビデオプレーヤーがメニューボタンを押していないことでした。私はそれがこのイベントをオーバーライドしていたと思うので、アプリはバックグラウンドに提出していなかった。私はappleによって提供されたテンプレートを使用し、それは働き始めた!

私たちのアプリにはDOM構造を実装する必要があり、Appleが提供するテンプレートには既にそれがあります。だから私は私のニーズに応じてテンプレートを操作し、今私はビデオプレーヤーでメニューボタンのイベントを取得しています。だから、プレイリストは私のルートコントローラで、ビデオはその子コントローラです。私はビデオを再生中にメニューボタンを押すと、プレイリストコントローラにポップバックし、再びメニューボタンを押してバックグラウンドに送信します。最後にこのソリューションで、私のアプリは承認され、アプリストアに生きています。

0

私は今あなたの質問を見つけました。

私はそれを行うための最良の方法は、すべての履歴をナビゲーションから削除することだと思います。あなたはこれにアクセスし、以前のすべてのページを削除するには、メニューボタンを押すとメイン画面に戻りますとき発生します

navigationDocument.clear() 

関数を呼び出す必要があることを行うには

お手数ですがお手伝いします。

関連する問題