Tech Racho エンジニアの「?」を「!」に。
  • 開発

Objective-Cの静的ライブラリ内のカテゴリを使う

iOSアプリにおいて、静的ライブラリの中で実装されているカテゴリのメソッドを呼ぼうとすると、
「unrecognized selector sent to instance 〜」のエラーが出る場合があります。

忘れがちなのですが、静的ライブラリ内で実装されているカテゴリを呼ぶ場合は、
アプリのTargetの「Build Settings」の「Other Linker Flags」に、「-all_load」を追加してやる必要があります。
これを忘れると、カテゴリ内のメソッドを参照することができず、「unrecognized 〜」のエラーが発生します。

Technical Q&A QA1490によると、リンカのバグが原因のようです。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。