1

のカスタム背景を持つアプリがありUITableViewます。SDK 3.1.3までは、これはテーブルのbackgroundColorプロパティをに設定し、テーブル[UIColor clearColor]を別のビュー(UIImageView' for example). SDK 3.2 added thebackgroundView property, and the same effect could be achieved by setting it tonil`)の上に配置することで実行されていました。

SDK4.0はSDK3.1.xlibsのすべてのトレースを削除したため、3.1.xデバイスで引き続き機能する4.0互換バージョンをコンパイルすることはできません。

SDK 3.2でアドホックバージョンを作成し、それをiTunes経由で4.0デバイスにインストールすると、すべてが正常に機能し、アプリは期待どおりに動作し、世界は幸せになります。SDK 4.0でコンパイルすると、ターゲットを3.0に設定して呼び出しても、コンパイルされsetBackgroundColor:ません(したがって、コンパイラは存在しないシンボルについて文句を言いません)。

それで、これに対する解決策はありますか?基本的に次のことを行います。-SDK4.0でコンパイルする(4.0デバイスでアプリをテストできるようにする)-3.xデバイスで動作させる-インストールベースがまだ大きいため、4.0では非推奨の3.1.xシンボルを使用する

4

1 に答える 1

0

わかりました。この質問で述べたように、UIKit.frameworkを弱くリンクします。iPhoneアプリで下位/上位互換性をサポートするための推奨される方法は?条件付きで適切なメソッドを呼び出しますUI_USER_INTERFACE_IDIOM()

于 2010-06-25T03:59:19.493 に答える