2016-11-03 13 views
0

音楽を再生するためのXamarin.Formsベースのアプリケーションを作成しようとしています。私は標準的なXamarin Forms Dependency Serviceパターンを使用して、MPMusicPlayerControllerを使用しているiOS向けのプラットフォーム固有のプレーヤーを作成しています(Xamarin)。コードを記述すると、MPMusicPlayerController.NowPlayItemプロパティにアクセスできます。私が最初にそれをテストしたときXamarin.iOS:MPMusicPlayerController.NowPlayingItemプロパティが消える

NowPlayingItem is accessible

は、すべてがOKに働きました。私はその後、MPMusicPlayerControllerからの通知を聞くことを試み始めました。私がデバッグすると、そのプロパティは失われています。アクセスしようとすると、深刻なモノSIGSEGV例外が発生します。

Property has disappeared

かなり頻繁に、デバッガは、プロパティを参照しようとしてもクラッシュします。そう;私は通知を取り出し、それはまだ起こる!

+0

ところで、それだけではない。それは大丈夫だろう;それは他のプロパティと一緒に完全に消えますが、いくつかはまだ利用可能です! –

答えて

1

XcodeとObjective Cの問題を引き起こすコードの部分を再作成しました.Xamarinから実行してクラッシュした後のXcodeのDeviceログを見ても、問題が示されていました。

さらに最近のバージョンのiOS expect an Info.plist entry; Privacy - Apple Music Usage Descriptionは、メディアライブラリにアクセスするために提供されます。興味深いことに、再生が許可されているように見え、NowPlayingItemプロパティは許可されてはいけないと感じられますが、何らかの理由で、時にはそうであることがあります。

最終的に、私はplistエントリを入れなければならないことがわかりました。また、this postのように確認し、時には認可を求めなければなりませんでした。

これらの両方を実行すると、NowPlayingItemプロパティが機能し、通知が取得されます。

関連する問題