質問

私はトラブルシューティングしようとしているソフトウェアハードウェア関連の問題を持っています。私のアプリは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はこの場合の要件になります)。

しかし、リリースされたアプリの場合、それは残念ながら不可能な新しい要件を追加します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top