2009-04-01 5 views
5

私のXcodeプロジェクトにはリソース内にInfo.plistというファイルがあります。これは次のような属性を持っています:カメラが利用可能かどうかを調べるにはLSRequiresIPhoneOSをチェックする必要がありますか?

LSRequiresIPhoneOS 

私の質問は次のとおりです。確認する必要がありますか?私が望むのは、自分のアプリが天気がカメラであるかどうかを知ることです。そうでない場合、この機能は無効になります。それはiPhoneとiPod Touchの両方で動作する必要があります!

Info.plistでこれを無効にしても、私はまだiPhoneの機能を使用することができます.Appleはそのために自分のコードを拒否しませんか?

答えて

5

LSRequiresIPhoneOSをチェックしたままにする必要があります(デフォルト値)。これは、アプリがiPod Touchで動作するのを妨げません。これは混乱するかもしれませんが、このケースでは "IPhoneOS"はiPhoneとiPod Touchの両方で動作するOSを指しています(ユーザーがiPhone OSをTouchにインストールしているので、サードパーティのアプリケーションを実行できます)。

カメラの使用状況について、あなたはカメラが利用可能である場合、具体的参照するには、以下のようなものを使用することができます

BOOL isCameraAvailable = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]; 

この種のアプローチ - 固有の機能をチェックするには - 通常、iPhoneを使用するよりも優れているがOSバージョンまたはハードウェアモデル。

+0

ありがとうございます!そのアプローチは、私には合理的だと思う、私はJavaScriptからそれを知っている。非常に良い答え。再度、感謝します! – Thanks