2 つの静的ライブラリを参照しています。それらをデバッグ シミュレータ モードでビルドすると、すべてがアプリでうまく動作します。次に、debug-iphone ビルドを作成し、アプリをデバイスにプッシュします。このエラーで壊れます:
キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '*** -[NSCFString sizeWithCGFont:pointSize:constrainedToSize:]: 認識されないセレクターがインスタンス 0x24320 に送信されました'
その後、SIGABRT エラーが表示されます。
なぜこれがシミュレーターでうまく動作し、デバイスでしかマニフェストしないのでしょうか?
- 編集 -
最後に、少なくともデバイスで実行するための回避策を見つけましたが、現在はシミュレーターでは実行していません。例外をスローしているメソッドは、フォントに使用しているクラスです。これは、たとえば、問題が発生していたライブラリである staticLibA の一部です。ターゲット アプリと問題クラスの .m ファイルに参照として staticLibA を含めました。NSString のカテゴリであるヘッダー ファイルへの参照は既にありました。.m ファイルを含めるまで機能しなかったのはそのためですか?
シミュレーターで実行しようとすると、上記のクラスのビルド出力フォルダーで重複オブジェクト エラーが発生します。