如何将ParseKit作为私有框架嵌入到Mac App捆绑包中

Ram*_*uri 10 cocoa objective-c parsekit

我需要安装ParseKit在Mac Os X下使用cocoa进行编译,我使用xcode 4.我已经在线搜索但是只有一个安装iPhone解析工具包的指南.在哪里可以找到适用于Mac Os X和/或指南的下载?

Tod*_*orf 25

这里是ParseKit的开发者.

好的,在Xcode 4中解决了一个棘手的问题之后,我已经找到了我的首选方法:创建一个包含两个子项目的新工作区("MySuite")

  • 您的Mac Cocoa应用程序项目("MyApp")
  • ParseKit框架项目("ParseKit")

当然,您可以选择与"MyApp"和"MySuite"不同的名称.

有几种不同的方法可以实现这一目标.这是一种方式:

  1. 首先,请确保从Google Code trunk更新到最新版本的ParseKit.我最近为Xcode 4.3.1现代化了Xcode项目.

    svn checkout http://parsekit.googlecode.com/svn/trunk/ parsekit-trunk

  2. 确保没有打开ParseKit Xcode项目窗口.这是Xcode版本4.3.1中的一个问题(可能稍后,不确定).

  3. 创建一个名为"MyApp"的Mac"Cocoa Application"项目.File > New > Project….(您可能已经创建了自己的应用.没关系.然后跳过此步骤.)
  4. 拖动ParseKit.xcodeproj文件从Finder最顶部的项目导航中的"MyApp的" Xcode项目窗口.注意:确保将文件放在Project Navigator树的最顶部.否则它将无法工作.将ParseKit项目拖到MyApp Project Navigator

  5. Xcode将显示一个对话框:"您要将此项目保存在新工作区吗?" 单击"保存"并将工作区命名为"MySuite".保存工作区

  6. 在Project Navigtor中选择"MyApp"项目.
  7. 在"目标"列表中选择"MyApp"目标.
  8. 选择"构建阶段"选项卡.
  9. 单击"目标依赖项"旁边的显示三角形以打开列表.
  10. 单击列表底部的"+"按钮.
  11. 从结果对话框中选择"ParseKit.framework",然后单击"添加"以将ParseKit添加为目标的依赖项.这可以确保ParseKit在目标之前构建.
  12. 单击"Link Binary With Libraries"旁边的显示三角形以打开列表.
  13. 单击列表底部的"+"按钮.
  14. 从结果对话框中选择"ParseKit.framework",然后单击"添加".
  15. 单击"Link Binary With Libraries"旁边的显示三角形以打开列表.
  16. 单击列表底部的"+"按钮.
  17. 从结果对话框中选择"ParseKit.framework",然后单击"添加".在此输入图像描述

  18. 请参阅"使用库链接二进制文件"列表中的"ParseKit.framework". 在此输入图像描述

  19. 单击"添加构建阶段"按钮,在弹出窗口中选择"复制文件".添加构建阶段
  20. 在新的"复制文件"构建阶段,在"目标"弹出窗口中选择"框架".在
  21. 将"ParseKit.framework"从Project Navigator拖到新"Copy Files"构建阶段的列表中.将ParseKit.framework拖到Copy Files构建阶段
  22. MyAppDelegate.m,导入ParseKit标头:

    #import <ParseKit/ParseKit.h>

  23. -[MyAppDelegate applicationDidFinishLaunching:]做:

    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);
    Run Code Online (Sandbox Code Playgroud)

  24. 建立并运行.

有关此主题的更多信息,请参阅: