У меня есть приложение, которое я продаю на рынке Mac, и это приложение работает без задержек - пока клиенты не запускали его под Mavericks.Категория метод не всегда называется, когда приложение работает под Mavericks
Что это сводится к тому, есть исключения, как это, что я получаю назад от клиентов:
11/7/13 8: 54: 17,841 AM MyApp [65256]: - [Вт собственности на квадратный MeterStringValue]: непризнанные селектор направлен например 0x7fa66c80a760
Теперь, очевидно, что «ваттах на квадратный MeterStringValue» не является допустимым селектором, но позвольте мне объяснить.
У меня есть категория в NSString, которая имеет ряд методов, которые выполняют разные вещи, такие как удаление пробелов из строк, или задание первого символа строки в нижнем регистре и т. Д. Эта категория существует в структуре, которую я вставляю в свою приложение.
Одним из конкретных методов в этой категории является «bindString», который преобразует строку в связующую строку верблюда. Итак:
[@ "Это фанки String" bindString]
уступит:
"thisIsAFunkyString"
То, что кажется, происходит в моем приложение под Mavericks - это то, что метод категории не всегда называется, даже если он ссылается на источник. Такое поведение является чисто случайным. Пока приложение работает, иногда оно будет вызываться, а иногда нет. Когда это не так, происходят исключения, подобные описанному выше.
Это происходит ТОЛЬКО под Mavericks. Тот же самый бинарный продукт безупречно работает под Горным Львом и Львом.
Теперь мне интересно, почему это так. Это вопрос времени выполнения Obj-C под Mavericks? Это проблема компилятора Xcode 5.0.1? Я не знаю, но это просто странно, и это подталкивает меня к стене.
Я пробовал практически все. Следующее, что я собираюсь попробовать, - вырвать категорию .m и .h из рамки и поместить ее прямо в проект приложения.
Кто-нибудь видел что-то подобное под Mavericks?
В тестовом примере воспроизводится проблема. Или, по крайней мере, пример того, как вы используете категорию? – Taum