Нет Carbon Human-Interface-Toolbox в 64-битных двоичных файлах OSX?

У меня сложилось впечатление, что Carbon Human Interface Toolbox не работает в 64-битных двоичных файлах.

В документации от Apple говорится:

Carbon Help Manager недоступен для 64-битных приложений.

...

Диспетчер управления недоступен для 64-разрядных приложений.

...

Браузер данных недоступен для 64-разрядных приложений.

...

Я просто хочу убедиться, что:

  • Обходного пути вокруг этого нет.

  • Если это просто так. Почему в документации Apple это просто не указано?


person yairchu    schedule 17.05.2010    source источник
comment
Углерод был создан как временное решение, чтобы помочь людям перейти с OS 9 на OS X. Прошло 10 лет, вы уже должны были перейти.   -  person Paul Tomblin    schedule 17.05.2010
comment
@Paul Tomblin: я думаю, удалить ли этот вопрос. Но я думаю, что хранение простого ответа здесь может быть полезным. Итак, не могли бы вы поместить свой комментарий в качестве ответа, чтобы я мог его принять? Спасибо   -  person yairchu    schedule 17.05.2010


Ответы (2)


У меня сложилось впечатление, что Carbon Human Interface Toolbox не работает в 64-битных двоичных файлах. … Я просто хочу убедиться, что:

  • Обходного пути вокруг этого нет.
  • Если это просто так. Почему в документации Apple это просто не указано?

Оно делает. Из Руководства по 64-разрядной версии для разработчиков Carbon:

В частности, API-интерфейсы, используемые для реализации пользовательского интерфейса Carbon, обычно доступны только для 32-разрядных приложений. Если вы хотите создать 64-битное приложение для Mac OS X, вам нужно использовать Cocoa для реализации его пользовательского интерфейса.

Из примечаний к выпуску HIToolbox:

Платформы HIToolbox и HIServices доступны для использования в 64-разрядных приложениях, но доступны не все API. В частности, API HIToolbox для создания и управления элементами пользовательского интерфейса (меню, окна и представления) недоступны. Используйте Cocoa для создания пользовательского интерфейса для 64-разрядного приложения.

Несколько функций HIToolbox и HIServices (например, API-интерфейс горячих клавиш Carbon Event Manager), а также множество типов (например, PhysicalKeyboardLayoutType) и констант (например, коды клавиш ANSI в Event Manager) ускользнули от топора, поэтому сами фреймворки не устарело/недоступно.

person Peter Hosey    schedule 17.05.2010

Углерод был создан как временное решение, чтобы помочь людям перейти с OS 9 на OS X. Прошло 10 лет, вы уже должны были перейти. Обратите внимание, что вы в хорошей компании — Adobe отказывалась переходить с Carbon на CS, пока они не поняли, что пропустят 64-битную лодку, когда выйдет Snow Leopard.

person Paul Tomblin    schedule 17.05.2010
comment
Это в корне неправильно. Apple продолжала развивать Carbon на протяжении многих лет, даже опережая Cocoa по многим пунктам (HIObject, представленный в 10.2, имел возможности, которых не было у NSObject — то же самое для HIView), и они утверждали, что Carbon станет 64-битным до тех пор, пока за несколько месяцев до выпуска 10.5. Обратите внимание, что я не злой разработчик Carbon — я всегда был Cocoa. Я просто помню, что Apple никогда не представляла это как временную меру, пока они не решили убить фреймворк, а потом вдруг все поняли, что Apple на самом деле, клянусь мизинцем, не имела в виду это, когда говорила это. можно было использовать Carbon. - person Chuck; 18.05.2010
comment
См. эту статью Ars Technica, где они указывают, насколько внезапным было изменение Apple в отношении Carbon: arstechnica.com/apple/news/2007/06/ Обратите внимание, что 64-битный Carbon был анонсирован до этого, и это было только за четыре месяца до выхода Leopard. - person Chuck; 18.05.2010
comment
@ Чак, так что вы цитируете статью 2007 года, чтобы опровергнуть мое утверждение о том, что люди много знали о том, что Carbon не будет обновляться в 2009 году, когда ОС станет 64-битной? Какое количество предупреждений вы считаете адекватным, если двух лет недостаточно? - person Paul Tomblin; 18.05.2010
comment
Вы сказали, что у них было 10 лет. На самом деле у них было предупреждение за четыре месяца до выхода «Леопарда». Да, с тех пор прошло пару лет, но говорить, что это был курс Apple все это время, просто неправильно. Не было никаких предупреждений об устаревании или это просто переходная технология или что-то в этом роде. Это был очень внезапный поворот. Разработчики и рекламные материалы Apple для Leopard фактически продолжали обещать 64-битный Carbon даже после того, как проект был отменен — настолько это было неожиданно. Даже Apple пропустила 64-битную лодку с Final Cut Pro. - person Chuck; 18.05.2010