2011-08-03 3 views
2

私のアプリケーションのすべてのフレームワークを弱くリンクするとどうなりますか?何か悪いことは起こりうる?私のアプリケーションのすべてのフレームワークを弱くリンクするとどうなりますか?

+2

はい、あなたのアプリはとても脆弱で、デバイスを削除するとクラッシュする可能性があります。 – BoltClock

+1

しかし、すべての深刻さで、なぜあなたはすべてを弱くしたいのですか? – BoltClock

+0

@BoltClockこれは面白い質問ですが、学問的に思っています。 – Moshe

答えて

0

@timesking:

これは何が必要ですか?

私は、必要なフレームワークのいくつかがiOSの特定のバージョンに存在しなくてもクラッシュすることがあっても、アプリケーションは実行しようとします。

希望すると、これが役立ちます。

0

ライブラリを弱く移動すると、このライブラリが利用できない(古い)デバイスを処理してアプリケーションを起動できるようになります。 で説明されているように、このライブラリを慎重に使用するコードを処理する必要があるため、ライブラリをweakにすることは十分ではありません。ライブラリが使用されるとアプリケーションがクラッシュします(サポートされていない場合)。

これが役に立ちます。

2

これはお勧めできません。 技術的にはは悪いことはありませんが、弱いリンクではクラッシュする可能性のあるコードを書くことができます。弱いリンクは、たとえライブラリの一部がサポートされていなくても、プログラムを実行し続ける必要があることをコンパイラに伝えます。リンクが弱い場合、サポートされていないメソッド呼び出しやオブジェクトが存在すると、アプリケーションがクラッシュします。そうすると、悪いシンボルにアクセスしようとするまで、アプリケーションは実行されます。だから、すべてを弱くリンクしているわけではないので、あいまいなケースをデバッグする必要がないという利点があります。

弱いリンクは、あなたが得意なものではなく、あなたが失うものではなく、下位互換性を必要としない限りです。その後、ストーリーが変わります。

さらに詳しくはthis documentationをご覧ください。

関連する問題