2011-07-16 11 views
0

私のアプリは普遍的なアプリではないiphoneアプリです。私はuiimagepickercontrollerを実装しています。それはiPhoneで問題なく動作しています。しかし、私たちのクライアントは私のアプリをipadでテストします。アプリはクラッシュするでしょう。 'iPadで問題が見つかりました。UIImagePickerControllerはUIPopoverController」
私はipad UIImagePickerControllerの問題?

NSStringの* DEVICETYPE = [UIDevice currentDevice] .MODELでデバイスをチェックしています。唯一のiPad用UIPopoverControllerを実装

(ユニバーサルアプリで、このコードの作品) 。しかし、私がiPadシミュレータに変更した場合でも、deviceTypeは常に「iPhone」を表示します.iphone Buildでこの問題を解決することは可能ですか?

答えて

0

別にこのissue.becauseを解決するために、私はiPadのをした私は、デバイスを取得することはできませんiPhoneアプリにiPadを入力してください。

2

UI_USER_INTERFACE_IDIOMマクロを使用してデバイスを確認する必要があります。

if (UIUserInterfaceIdiomPad == UI_USER_INTERFACE_IDIOM()) 
{ 
    // your code 
} 

ここをクリックしてください。

0

エリカSadunがあなたとデバイス文字列にアクセスすることができます言ったようにUIDevice

-1

userInterfaceIdiomプロパティを参照してください。

- (NSString *) getSysInfoByName:(char *)typeSpecifier 
{ 
    size_t size; 
    sysctlbyname(typeSpecifier, NULL, &size, NULL, 0); 
    char *answer = malloc(size); 
    sysctlbyname(typeSpecifier, answer, &size, NULL, 0); 
    NSString *results = [NSString stringWithCString:answer encoding: NSUTF8StringEncoding]; 
    free(answer); 
    return results; 
} 
+0

アプリケーションが実行されているデバイスタイプを判別できるハイレベルのクラスと関数があります。低レベルのAPIに依存する必要はありません。これは、今後互換性の問題などの原因となる可能性があります。 – Andriy

+0

デバイスタイプを判断するために低レベルのAPIに頼る必要はありませんが、ハードウェアモデル名を決定するためのリソースが見つかりませんでした。 – Mat