2015年9月15日火曜日

iOS 9 では MPMoviePlayerViewController が非推奨になります

What's new in iOS に1行だけ書いてありますが,iOS 9 では Media Player Framework のビデオ再生クラス MPMoviePlayerViewController が非推奨になります.またピクチャ・イン・ピクチャもサポートされません.
The video playback classes defined in the Media Player framework are deprecated in iOS 9 and do not support PiP.
代わりに AVPlayerViewController を使えば iOS 8 以降で動きます.

ただし Media Player Framework そのものは存続するみたいで MPMusicPlayerController はそのまま残るようです.

おそらくiOS 9 で採用されたピクチャ・イン・ピクチャに対応させるために,映像まわりを AV Foundation と AV Kit に集約させるためなのでしょう.

ちなみに映像音声の再生だけなら AVPlayerAVPlayerLayer の組み合わせが最もシンプルで,AVPlayerViewController を使う必要はありません.

2015年6月9日火曜日

Metal for Mac

WWDC 2015 で Metal for Mac が発表された.MetalはもともとiOS向けの軽量グラフィックスレイヤーで,OpenGL ES の代わりとして導入されたものだ.GPUがMacに比べて貧弱なiOSデバイス向けという位置付けだったのだが,めでたくMacにもやってきた.

今後 Core Graphics (Quartz), Quartz Compositor (Quartz Extreme), Core Image, Core Animation などがMetalの上に直接乗るだろう.Core Graphics がOpenGLの上に乗ったのは OS X 10.2 からなので,今思えば OS X は実に上手い具合にレイヤー化を徹底していたのだなあと思う.

2015年1月2日金曜日

OpenCV for iOS を使ったXcodeプロジェクトのビルド

個人的にはまったので,メモ.

OpenCV 2.4.10 for iOS, 3.0.0β for iOS とも,libc++に依存しているのだが,Xcode 6.1.1 の Build Setting で

Apple LLVM 6.0 - Language - C++
C++ Standard Library = libc++

とするだけでは上手くいかないことがあるようだ.そんなときは同じく Build Setting で

Linking
Other Linker Flags = -lc++

すると上手くいくみたいだ.