Мне нужно установить ParseKit для компиляции с помощью cocoa в Mac OS X, я использую xcode 4. Я искал в Интернете, но есть только руководство по установке набора синтаксического анализа для iPhone. Где я могу найти загрузку для Mac Os X и/или руководство?
Как встраивать ParseKit в качестве частной структуры в комплекте приложений для Mac
Ответ 1
Разработчик ParseKit здесь.
ОК, после работы сложной проблемы в Xcode 4, я выяснил свой предпочтительный способ сделать это: Создайте новую рабочую область ( "MySuite" ), которая содержит два подпроекта
- Ваш Mac Cocoa Application Project ( "MyApp" )
- Проект ParseKit Framework ( "ParseKit" )
Конечно, вы можете выбрать разные имена, чем "MyApp" и "MySuite".
Есть несколько разных способов сделать это. Здесь один из способов:
-
Сначала убедитесь, что вы обновляете самую последнюю версию ParseKit из соединительной линии Google Code. Недавно я модернизировал проект Xcode для Xcode 4.3.1.
svn checkout http://parsekit.googlecode.com/svn/trunk/ parsekit-trunk
-
Убедитесь, что окно проекта ParseKit Xcode не открыто. Это проблема в Xcode до версии 4.3.1 (и, возможно, позже, не уверен).
- Создайте проект "Cocoa приложения для Mac" с именем "MyApp" .
File > New > Project…
. (Возможно, вы уже создали приложение. Это хорошо, а затем пропустите этот шаг.) - Перетащите файл
ParseKit.xcodeproj
из Finder в очень верхний Навигатора проектов в окне проекта Xcode MyApp. ПРИМЕЧАНИЕ. Обязательно удалите файл в самой верхней части дерева Project Navigator. Иначе это не сработает. - Xcode представит диалог: "Вы хотите сохранить этот проект в новом рабочем пространстве?" Нажмите "Сохранить" и назовите Рабочую область что-то вроде "MySuite".
- Выберите проект "MyApp" в Project Navigtor.
- Выберите цель "MyApp" в списке "Цели".
- Выберите вкладку "Построить фазы".
- Нажмите треугольник раскрытия рядом с "Целевые зависимости", чтобы открыть список.
- Нажмите кнопку "+" в нижней части списка.
- В появившемся диалоговом окне выберите "ParseKit.framework" и нажмите "Добавить" , чтобы добавить ParseKit в зависимости от вашей цели. Это гарантирует, что ParseKit будет создан до вашей цели.
- Нажмите на раскрывающийся треугольник рядом с "Link Binary With Libraries" , чтобы открыть список.
- Нажмите кнопку "+" в нижней части списка.
- Выберите "ParseKit.framework" в появившемся диалоговом окне и нажмите "Добавить" .
- Нажмите на раскрывающийся треугольник рядом с "Link Binary With Libraries" , чтобы открыть список.
- Нажмите кнопку "+" в нижней части списка.
- В появившемся диалоговом окне выберите "ParseKit.framework" и нажмите "Добавить" .
- См. "ParseKit.framework" в списке "Link Binary With Libraries" .
- Нажмите кнопку "Добавить этап сборки", выберите "Копировать файлы" во всплывающем окне.
- На новой фазе сборки "Копировать файлы" выберите "Рамки" в всплывающем окне "Целевое назначение".
- Перетащите "ParseKit.framework" из Навигатора проектов в список в новой фазе сборки "Копировать файлы" .
-
В
MyAppDelegate.m
импортируйте заголовок ParseKit:#import <ParseKit/ParseKit.h>
-
В
-[MyAppDelegate applicationDidFinishLaunching:]
do:NSString *g = @"@start = Word+;"; PKParser *p = [[PKParserFactory factory] parserFromGrammar:g assembler:self error:nil]; NSError *err = nil; id result = [p parse:@"foo bar baz" error:&err]; NSLog(@"%@", result);
- Сборка и запуск.
Для получения дополнительной информации по этой теме см.
- Apple docs
- Глава 16 Освоение Xcode 4 Джошуа Ноцци
Ответ 2
- Откройте проект в Xcode 4
- Убедитесь, что отображается Навигатор проекта
- Ctrl нажмите на файл проекта (синий значок страницы)
- Выберите Добавить файлы в "YourProjectName"
- Выберите ParseKit.xcodeproj
- В Навигаторе проектов выберите файл проекта
- Перейдите к Фазы сборки
- Разделите ссылку на двоичные файлы с библиотеками и добавьте ParseKit.framework, нажав + или перетащите его из каталога Project Navigator Products ParseKit.framework. >
- Добавьте Копировать файл, нажав на нижнюю правую кнопку Add Build Phase.
- Установить назначение в рамки
- Повторите 8, но для новой фазы сборки
Вам также может потребоваться добавить Target Dependency: повторите шаг 8, но для этого этапа. Но похоже, что Xcode может их самостоятельно отсортировать.
Я также рекомендую вам создать Workspace, он упрощает управление подпроектом и выглядит так, что это устраняет большую часть потенциальных проблем, потому что если Xcode не может разрешить зависимости, вы всегда можете добавить script для копирования файлов вручную, так как продукты проектов будут иметь один и тот же каталог сборки.
Ответ 3
Мне удалось это сделать, используя cocoapods. Попробуйте, если вы застряли еще
Ответ 4
Разработчик ParseKit здесь.
Извините, у меня нет хорошего ответа для вас. У меня есть некоторые устаревшие документы на как использовать ParseKit в приложении iOS, используя Xcode 3.
Однако, я просто попытался пройти процесс внедрения ParseKit.framework в приложение Mac OS X с помощью Xcode 4, и я, честно говоря, не мог понять, как это сделать в Xcode 4. Я озадачен.
Я могу сказать, что вложение ParseKit.framework в ваше приложение Mac не должно сильно отличаться от встраивания любых других фреймворков в ваше приложение Mac. В этом отношении нет ничего особенного или необычного в ParseKit. Проблема в том, что я просто не могу понять, как это сделать вообще в Xcode 4.
Здесь документация Apple о том, как это сделать:
К сожалению, документы Apple также устарели, а также описывают процесс в Xcode 3.
Я спросил вопрос здесь о переполнении стека, чтобы попытаться решить эту проблему.