1

このような2つのターゲットを持つiPhone静的ライブラリプロジェクトを作成しました

プロジェクト
->ライブラリ(デバイス)ターゲット
->ライブラリ(シミュレータ)ターゲット

デバイスターゲットではSDKがデバイスに設定されているためarmv6/7ライブラリが生成され、シミュレータターゲットはシミュレータSDKに設定されているためi386ライブラリが生成されます。

私が抱えている問題は、ターゲットのSDK設定がXCodeのアクティブなターゲット設定によって上書きされ続けることです。つまり、デバイスターゲットをビルドしても、XCodeウィンドウにアクティブなSDKがシミュレーターとして表示されている場合、XCodeは、ターゲットの設定を無視して、デバイスライブラリではなくシミュレーターライブラリをビルドします。ビルドディレクトリの*-iphoneos/ディレクトリに配置されますが!

私はもともと別の静的ライブラリプロジェクトで同じ問題を抱えていましたが、何度も遊んだ後、すべてが正しく機能するようになりました。つまり、ターゲットは何を構築するかについて独自の仕様を持っているため、XCodeアクティブSDKを無視します。

問題は、そのプロジェクトで何が機能したのかわからず、そのプロジェクトでも問題を再現できなかったことです。

何が起こっているのかについて誰かが何か考えを持っていますか?

チャオデレク

4

1 に答える 1

1

OK、私はそれを理解したと思います。

プロジェクトSDKを一般設定に設定します。コーディング中にAPIとライブラリを正しく取得できるようにするSimulatorSDK。

各ターゲットを、構築する必要のあるSKDに設定します。すなわち。デバイスSDKまたはシミュレータSDK。

XCodes SDKを現在のSDKに設定したままにして、ターゲットをオーバーライドしないように効果的に指示します。

于 2010-04-15T01:04:48.523 に答える