1

Xcode 4でcocoaフレームワーク/ライブラリを作成し、10.3.9でサポートする必要があります。10年前のMacであることがわかっていますが、これは要件です。

アップルのSDK互換性ガイドを読みましたが、ドキュメントには、展開ターゲットを10.4に設定すると、無条件で10.3.9バージョンで動作すると書かれていました。ここで「無条件」とは何を指しているのかわかりませんでした。

10.3.9でサポートが必要な場合、どのような予防措置を講じる必要がありますか。ご協力いただければ幸いです。

4

1 に答える 1

1

お使いのバージョンのXcodeに10.3SDKがない場合、10.3.9で使用できないAPIや機能を誤って使用することを回避するのは非常に困難です。デプロイメントターゲットを設定すると、プログラムが10.3.9でロードされるようになります。実行可能ファイルは、10.3.9のローダーに認識されない動的ローダーコマンドや、10.3.9で使用できないシンボルへの参照を使用しません。弱参照になりますが、実行されるわけではありません。

クラッシュせずに実行するには、これらの弱リンクされたシンボルのいずれかを実際に逆参照したり、使用できないメソッドを呼び出したりしないようにする必要があります。これを回避する唯一の信頼できる方法は、コンパイラの助けを借りることですが、Xcode 4では利用できない適切なSDKがある場合にのみ可能です(正直なところ、10.3SDKが最後に利用可能になったのはいつかわかりません。 )。

最後に、そのプラットフォームでテストできない場合は、展開ターゲットをサポートしようとするのは愚かです。10.3.9を実行しているマシンが必要です。それがある場合は、そのバージョンのOSにネイティブなバージョンのXcodeを使用できます。Xcodeプロジェクトファイル自体には互換性がありませんが、条件付きコンパイルを使用してどちらの環境でも構築できるコードベースを作成できます。

于 2012-04-20T10:59:42.343 に答える