У меня есть приложение для iPhone, которое прекрасно компилируется и работает в симуляторе на моем ноутбуке. Теперь я пытаюсь собрать и запустить тот же код в симуляторе на iMac, и он запускается и позволяет мне нажимать кнопку, но затем я получаю ошибку подтверждения.
Вот что в консоли:
*** Assertion failure in -[UILabel setFont:], /SourceCache/UIKit/UIKit-738/UILabel.m:438
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: font != nil'
Stack: (
2493366603,
2432871995,
2493366059,
2459146836,
817183141,
817926218,
837317240,
837317032,
837315376,
837314643,
2492860866,
2492867620,
2492869880,
85304,
85501,
816175835,
816221412,
9096,
8930
)
Вот трассировка стека:
#0 0x949dbff4 in ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___
#1 0x9102ae3b in objc_exception_throw
#2 0x94962ad3 in CFRunLoopRunSpecific
#3 0x94962cf8 in CFRunLoopRunInMode
#4 0x00014d38 in GSEventRunModal
#5 0x00014dfd in GSEventRun
#6 0x30a5dadb in -[UIApplication _run]
#7 0x30a68ce4 in UIApplicationMain
#8 0x00002388 in main at main.m:16
Мой код не делает никаких прямых вызовов setFont :. Тем не менее, это будет момент выполнения программы, когда некоторые кнопки становятся видимыми впервые.
Я гуглил. Некоторые люди с похожими проблемами говорят, что это волшебным образом исправлено, когда они редактируют NIB, или изменяют свой часовой пояс, или другие странности.
Есть идеи, что такое настоящая причина?
(Пожалуйста, не ныть о NDA.)
Обновление: Если я поменяю шрифт некоторых моих кнопок с «TimesNewRomanPS-BoldMT» на «Times», то ошибка подтверждения больше не возникает. Но почему я не могу использовать нужный шрифт, который существует на iPhone, установлен на новом компьютере и доступен для выбора в Интерфейсном Разработчике?