IOS5 CMMotionManager StartDeviceMotionUpdateSequeue:iPhone3GSで失敗しました
-
12-11-2019 - |
質問
私はトラブルシューティングしようとしているソフトウェアハードウェア関連の問題を持っています。私のアプリはiPhone4、iOS5用に開発され、Core Motionフレームワークを使用して加速度計とジャイロスコープのデータをリアルタイムで処理します。 iOS5 でiPhone 3GSで実行するとアプリは失敗します
マイメインコアモーション方式は次のようになります。
[motionManager startDeviceMotionUpdatesToQueue:motionQueue withHandler:^(CMDeviceMotion *motion, NSError *error) {
//notify calibration delegate
if(calibrationDelegate)
{
[calibrationDelegate collectCalibrationMotionData:motion];
}
//a lot more processing
}
.
iPhone4はイリロでYesを返し、iPhone4はyes。
BOOL accelerometerAvailable = (motionManager.isAccelerometerAvailable)?YES:NO;
BOOL gyroscopeAvailable = (motionManager.isGyroAvailable)?YES:NO;
if(!accelerometerAvailable && ! gyroscopeAvailable)
{
//handle error
remoteControlState = kRemoteControlStateError;
}
.
私はAppleがiPhone4,4S、3GSを持つ顧客に私のアプリを販売していることを痛めました。校正代理店へのオブジェクト。
私はアプリをテストするためのiPhone 3GSを持っていませんので、いくつか質問があります。
-
Xcodeプロジェクトのプロパティの任意の場所を指定することは可能です。 私は私のアプリがiPhone4以降でのみ実行することができますか?(またはジャイロスコープを持つデバイス?)
上記のようなiOS5 Quirkに関する詳細情報を見つけることができます iPhone3GSがiPhone4とどのように異なるかをよりよく理解するために?
解決
私のアプリがiPhone4以降でのみ実行するために私のアプリが実行されるXcodeプロジェクトのプロパティのどこにでも指定することが可能ですか?(またはジャイロスコープを持つデバイス?)
はい、
UIRequiredDeviceCapabilities
あなたのinfo.plistの鍵(gyroscope
はこの場合の要件になります)。しかし、リリースされたアプリの場合、それは残念ながら
不可能な新しい要件を追加します。
所属していません StackOverflow