Cocoa - Альтернативы для Webkit.framework?

Есть ли альтернативы для webkit.framework?

Есть ли, например, "ChromeKit.framework"? (Не отображается так, что я искал).

Не разрешено ли Apple иметь конкурирующие рамки браузера, или никто не может просто сделать это?

Причина, которую я задаю, - это ужасающая производительность svg/canvas в структуре webkit.

Изменить: Найдено: http://en.wikipedia.org/wiki/Chromium_Embedded_Framework

Но там нет .framework, доступного только для ссылки в xcode 5. Это также кажется устаревшим (инструкции). Кто-нибудь использовал это с xcode 5?

Ответ 1

Изменить: Хорошо, я загрузил 64-битный Mac CEF-архив снова сегодня, и на этот раз он выполнил не с инструкциями, которые я дал ранее. Необходимо было внести дополнительные изменения как для создания настроек, так и для исходного кода (замена некоторых устаревших методов).

Обновленный ответ:


Последние сборки Chromium Embedded Framework 3 можно найти здесь, последнее из которых было 10 дней назад ( 2013/12/10). 64-битная сборка Mac OS X включает в себя пример проекта Xcode для OS X 10.7 Lion, который нуждается в некоторых модификациях для успешной компиляции 10.9 Mavericks/Xcode 5 (см. Ниже). Продукт сборки cefclient.app - простой веб-браузер с голубыми костями.

Следующие инструкции предназначены для создания Chromium Embedded Framework и тестирования приложений на 64-разрядной Mac OS X 10.9/Xcode 5 из архива выпусков CEF: cef_binary_3.1720.1548_macosx64.7z, в настоящее время загружаемый из CEF строит страницу. Может потребоваться сборка после каждого изменения исходного кода, чтобы показать больше проблем.

  • Извлеките архив 7z.
  • Откройте файл cefclient.xcodeproj/project.pbxproj в TextEdit и замените все вхождения "10.7" на "10.9" (без кавычек) и "10.6" с "10.9" (без кавычек).
  • Откройте cefclient.xcodeproj в Xcode 5 и попытайтесь создать его (cmd-B). В панели "Проблемы" найдите "проект cefclient" и нажмите "Проверить параметры проекта/Обновить до рекомендуемых параметров" → Выполните изменения. Xcode обновит файл проекта.
  • В разделе "libcef_dll_wrapper" выберите проблему, связанную с UINT_MAX и замените "UINT_MAX" на "UINT32_MAX" в коде.
  • В разделе "cefclient_helper_app" выберите "resource_util_mac.mm", чтобы перейти к исходному коду, и замените устаревший метод AmIBundled() на следующая реализация:

    bool AmIBundled() { return ([NSBundle mainBundle] != nil); }

  • В разделе "cefsimple" выберите подэлемент "cefsimple_mac.mm" перейти к исходному коду и заменить устаревшие ...loadNibNamed... строка с:

    [[NSBundle mainBundle] loadNibNamed:@"MainMenu" owner:NSApp topLevelObjects:nil];

  • Повторите шаг 6 для "проблем cefclient" → "cefclient_mac.mm" подпозиция.

Он должен успешно сработать на этом этапе. Игнорировать предупреждения компоновщика; Кажется, я не мог их исправить, и все, кажется, работает нормально, независимо от того.

Чтобы создать меньшую (~ 80 МБ) версию релиза cefclient:

  • Нажмите "Все" в верхнем левом углу окна проекта → выберите "Изменить схему..."
  • Выберите пункт "Запуск" в левом представлении и выберите "Конфигурация сборки" → "Отпустить".

Продукты cefclient и cefsimple будут находиться в папке @{PROJECT_DIR}/xcodebuild/Release, а структура CEF будет находиться в папке @{PROJECT_DIR}/Release.

Не совсем подключи и играй, а? Сообщите мне, если это сработает для вас.