これは私には意味がありません。アプリが次のエラーでクラッシュします。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType screenFontWithRenderingMode:]: unrecognized selector sent to instance 0x209bb200'
これは iOS アプリです。私が見る限り、screenFontWithRenderingMode は iOS ではなく Mac OS X の NSFont メソッドです。では、どのようにしてこのエラーが発生するのでしょうか?
新しくリリースされた Xcode 5 を使用してアプリを作成しています。アプリは iOS バージョン 6.1 および 7.0 (およびそれ以降) をサポートします。このエラーは、6.1 デバイス (およびシミュレーター) でアプリを実行している場合にのみ発生します。
編集:
アプリをデバッグ モードで実行しても、クラッシュ ログを生成できませんでした。アドホック ビルドを作成することで、アプリをロードして実行し、クラッシュさせ、クラッシュ ログを取得することができました。
0 CoreFoundation 0x3220a29e __exceptionPreprocess + 158
1 libobjc.A.dylib 0x3a06e97a objc_exception_throw + 26
2 CoreFoundation 0x3220de02 -[NSObject(NSObject) doesNotRecognizeSelector:] + 166
3 CoreFoundation 0x3220c52c ___forwarding___ + 388
4 CoreFoundation 0x32163f64 __forwarding_prep_0___ + 20
5 UIFoundation 0x37da15c8 +[NSStringDrawingTextStorage _fastDrawString:attributes:length:inRect:graphicsContext:baselineRendering:usesFontLeading:usesScreenFont:typesetterBehavior:paragraphStyle:lineBreakMode:boundingRect:padding:scrollable:baselineOffset:] + 344
6 UIFoundation 0x37da0184 -[NSAttributedString(NSExtendedStringDrawing) _doBoundingRectWithSize:options:context:baselineOffset:] + 676
7 UIFoundation 0x37d9fc8c -[NSAttributedString(NSExtendedStringDrawing) boundingRectWithSize:options:context:] + 2492
問題のある行を追跡できました:
CGRect rect = [[MLFeedCell attributedBodyForItem:item].attributedString boundingRectWithSize:CGSizeMake(labelWidth, 10000) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil];
この呼び出しの何が問題なのかわかりません。