

Swift3でカスタムキーボードを作り、ボタンを押したときに  
`MPMusicPlayerController.systemMusicPlayer().nowPlayingItem`で引き出した曲のタイトル（`.title`）や歌詞（`.lyrics`）などを挿入したいと思っているのですが、

通常のアプリのように  
`MediaPlayer`をインポートし、`keyboardViewController`内に`MPMusicPlayerController`のインスタンスを宣言し、`nowPlayingItemDidChange`の通知を受けたときにselectorで指定したメソッドを呼び出し、曲の情報を取得するようにコードは書いてあります。  

カスタムキーボードのApp ExtensionにはMediaPlayerは **対応していない** のでしょうか？  
それとも、何か **特別な処理** が必要になるのでしょうか？

あるいは、カスタムキーボードの **ホストアプリ上で情報を取得し、その情報をキーボードに受け渡す** という動作や、いっそカスタムキーボードではなく、ただの
**シングルビューアプリとUIButtonとUITextView** で実装できればそれでもいいのですが・・・


CC BY-SA 3.0
2017-09-16T11:09:43.217
37991
2017-09-27T14:52:25.627
2017-09-27T14:52:25.627
369
25183
question
swift ios swift3 ios-app-extension
custom keyboardの中でMPMusicPlayerControllerを読み込む


カスタムキーボードのExtensionについては試したことがないので良くわかりませんが、カスタムキーボードでなくても良い（自アプリ内のみで利用できればよい）のなら拙作のアプリ
[SongsInfo](https://itunes.apple.com/jp/app/songsinfo/id428766423?mt=8)
のツイート機能で似たようなことを行っています。

このアプリでは、UITextView の inputView に UITableView
を設定することでキーボードの代わりに曲のメタ情報を挿入可能にしています。

[![SongsInfoのツイート機能](https://i.stack.imgur.com/e8CQ0.png)](https://i.stack.imgur.com/e8CQ0.png)

あと、曲の情報を参照するなら、Info.plist に [Privacy - Media Library Usage
Description](https://qiita.com/motoshima1150/items/884d57d0b1ea14403cdc)
を含めるのをお忘れなく。


CC BY-SA 3.0
2017-09-20T01:08:04.620
38048
2017-09-20T01:08:04.620
23829
37991
answer