2017-06-20 22 views
2

私はiOSアプリを主にiPads用のObjective CでXCodeで構築しています。iOSアプリケーションでAirPlayミラーリングを検出する

基本的に、私のAirPlay Mirroringアプリケーションがアクティブであることを検出したいのですが、主にデバイスが別の画面にミラーリングしている場合です。

私はすべてstackoverflowを検索しましたが、私はこれに必要なものを見つけることができませんでした。 これにはUIScreenDidConnectNotificationを使用する必要があるとの回答があります。

ミラーリングがアクティブな場合、またはミラーリングがアクティブな場合、ミラーリングが停止している場合でも、関数を呼び出す必要があります。だから私はミラーリングの変更のためのリスナーが必要だと思う。

私を助けてもらえますか?

私はすべてのことを知らないかもしれないので、もし怒らないで下さいiOSの開発に比較的新しいです:)

私が見つけたいくつかの答え:。

ありがとうございます!

+0

だからあなたがやりました'UIScreenDidConnectNotification'アプローチを試してみてください。どの結果を得ましたか? –

+0

@SergeyGrischyov私は今オプションを試していますが、通知する必要はありませんが、そのときに関数を呼び出す必要があります。どういうわけか可能ですか? –

+1

私の答えをチェックしてください –

答えて

1

はここでは、通知をサブスクライブすることによって、任意の関数を呼び出すことができます方法ですあなたがviewDidLoadかどこが必要見つけるにそれを行うことができます。

[[NSNotificationCenter defaultCenter] addObserver:self 
     selector:@selector(receiveAirPlayNotification:) 
     name: UIScreenDidConnectNotification 
     object:nil]; 

そして、それを受け取るために:

- (void) receiveAirPlayNotification:(NSNotification *) notification 
{ 
    //Do whatever you want here, or call another function 
    NSLog(@"Received Notification - %@", notification); 
    [self doMyThing]; 
} 
+0

セルゲイ、あなたの答えをありがとう。私は少し質問があります。通知コードをAppDelegateファイルに追加する必要がありますか?どうもありがとう! –

+1

@RazvanN私はあなたがそれを使用する必要があるビューコントローラに追加します - あなたのAppDelegateに不必要な依存関係を埋め込まないようにします。 –

+1

あなたの答え、Sergey、ありがとう、これはトリックを作った! :D –

関連する問題