アプリ内のすべてのフレームワークを弱リンクするとどうなりますか? 何か悪いことが起こりますか?
3 に答える
これは良い考えではありません。技術的には悪いことは何も起こりませんが、弱いリンクを使用すると、クラッシュする可能性のあるコードを記述できます。弱いリンクは、ライブラリの一部がサポートされていない場合でも、プログラムを実行し続ける必要があることをコンパイラに伝えます。ウィーク リンクを行わないと、サポートされていないメソッド呼び出しまたはオブジェクトが存在すると、アプリがクラッシュします。その場合、アプリは、悪いシンボルにアクセスしようとするまで実行されます。したがって、すべてを弱くリンクしないことで、あいまいなケースをデバッグする必要がないという追加の利点が得られます。
弱いリンクではないということは、失うものではなく、得られるものではありません - 下位互換性が必要でない限り。すると話は変わります。
詳細については、このドキュメントを参照してください。
@timesking:
そうする必要は何ですか?
必要なフレームワークの一部が特定のバージョンのiOSに存在しない場合でも、アプリを実行しようとすると、クラッシュしてしまうと思います。
これがお役に立てば幸いです。
ライブラリをweakに移動すると、このライブラリが利用できない(古い)デバイスを処理し、アプリケーションを起動できるようになります。
次に、ライブラリをweakに移動するだけでは十分ではありません.SDKドキュメントで説明されているように、このライブラリを使用するコードを慎重に処理する必要があります。そうしないと、ライブラリが使用されたときにアプリケーションがクラッシュします(サポートされていない場合)。
お役に立てれば。