6.x のベース SDK で 4.3 の展開ターゲットをサポートしているアプリケーションがあります。
ドキュメント「Using SDK-Based Development」に記載されている戦略に基づいて、API メソッドを弱くリンクし、古いランタイムに代替の回避策を提供する必要があることに気付きました。
私が直面している問題は、ときどき、意図せずに、新しい SDK でのみ使用できるメソッドを使用し、そのメソッドを弱いリンクにしなかったことです。これにより、古いバージョンの OS でアプリを実行しているユーザーにクラッシュが発生します。
古いランタイム (iOS 4.3) を使用しているユーザーの数が減少していることはわかっていますが、iOS 以外の SDK で使用可能な API をリストするレポートを生成するためのツールまたは方法があるかどうかを知りたいです。製品を出荷する前に、適切なウィークリンクが実行されていることを確認するためにコードをレビューできるようにします。
ソースを古いバージョンの SDK にコンパイルするとエラーがスローされるはずですが、Apple の戦略は常に、古い SDK を使用せずに新しい XCode を出荷することでした。
私は完璧な解決策を探しているわけではありません。他の回避策も役に立ちます。