ここ最近、筆者は C++Builder XE5 を使って iOS アプリケーションを作成しているところですが、TCustomOrientationSensor を使ってみたところ、プロパティ HeadingX/Y/Z で磁気センサーの計測値を取得できるようだということがわかりました。
まずフォームに FMX.Sensors.TOrientationSensor を配置した上で、イベント OnSensorChoosing に対して TCustomOrientationSensor のプロパティ SensorType が TOrientationSensorType::Compass3D であるセンサーを選択して、プロパティ Sensor を参照します。(参考までに筆者の iPhone 5s では 2 つの TCustomOrientationSensor オブジェクトが検出され、SensorType が Compass3D でないほうは Inclinometer3D でした。)
残念ながら FMX から磁気センサーのキャリブレーションを要求する機能がないようで、あまり実用にはなりそうにありませんが、条件付きながら磁場を計測する一つの手段にはなりそうです。
[注記: 『外来語 (カタカナ) 表記ガイドライン』に倣って、repository の日本語表記を「リポジトリー」に変更しました。]