5

私のアプリはios 7では問題なく実行されていますが、ios 6で実行するとダウンします。レポートは次のとおりです。

2013-10-17 22:58:45.509 Santarem Guide[606:c07] -[_UIAppearance setTintColor:]: unrecognized selector sent to instance 0xa149390
2013-10-17 22:58:45.510 Santarem Guide[606:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_UIAppearance setTintColor:]: unrecognized selector sent to instance 0xa149390'
*** First throw call stack:
(0x29d8012 0x1951e7e 0x2a634bd 0x29c7bbc 0x29c794e 0x7ade 0x8967b7 0x896da7 0x897fab 0x8a9315 0x8aa24b 0x89bcf8 0x2e69df9 0x2e69ad0 0x294dbf5 0x294d962 0x297ebb6 0x297df44 0x297de1b 0x8977da 0x89965c 0x2dfd 0x20fa725)
libc++abi.dylib: terminate called throwing an exception
(lldb) 

誰かがこの問題を抱えていましたか?

私の App Delegate には [[UIView 外観] setTintColor:[UIColor whiteColor]]; があります。これを [[UIView 外観] setBackgroundColor:[UIColor whiteColor]]; にすると、私は新しいエラーが発生します

2013-10-17 23:08:58.310 Santarem ガイド [659:c07] -[UITableView setTintColor:]: インスタンス 0x1138aa00 に送信された認識されないセレクター

そしてすべてが白くなる。

4

3 に答える 3

10

メソッドを使用する前に、そのメソッドが使用可能かどうかを確認する必要があります。

if ([[UIView appearance] respondsToSelector:@selector(setTintColor:)]) {
    [[UIView appearance] setTintColor:[UIColor whiteColor]];
}
于 2013-10-17T22:17:20.440 に答える
2

ターゲット デバイスが iOS7 と互換性があるかどうかを確認します。

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
    [[UIView appearance] setTintColor:[UIColor whiteColor]];
}
于 2014-05-09T09:12:33.587 に答える
1

それで、ios6がサポートしていないコードを使用していたため、いくつかのエラーが発生したことがわかりました。私は入れなければならなかった

if (SYSTEM_VERSION_LESS_THAN(@"7.0")) {
        // code here 
} else { 
   code here
}

プロジェクトの多くの部分で、彼は ios6 で実行できるようになりました。もう 1 つの問題は、3D でマップを使用していたことです。

返信ありがとうございます

この場合、.pch-fileのクラスまたはグローバルに次のマクロを含める必要があります。

#define SYSTEM_VERSION_LESS_THAN(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
于 2013-10-17T22:46:51.677 に答える