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

时间:2012-03-10 19:36:01

标签: objective-c cocoa parsekit

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

4 个答案:

答案 0 :(得分:25)

ParseKit的开发人员。

好的,在完成a tricky issue in Xcode 4之后,我已经找到了我的首选方法:创建一个包含两个子项目的新工作区(“MySuite”)

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

当然,您可以选择与“MyApp”和“MySuite”不同的名称。

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

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

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

  2. 确保您没有打开ParseKit Xcode项目窗口。这是issue in Xcode up to version 4.3.1(可能稍后,不确定)。

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

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

  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”,然后点击“添加”。enter image description here

  18. 请参阅“使用库链接二进制文件”列表中的“ParseKit.framework”。 enter image description here

  19. 点击“添加构建阶段”按钮,在弹出窗口中选择“复制文件”。Add Build Phase
  20. 在新的“复制文件”构建阶段,在“目标”弹出窗口中选择“框架”。Choose Frameworks in the Destination popup
  21. 将“ParseKit.framework”从Project Navigator拖到新“Copy Files”构建阶段的列表中。Drag ParseKit.framework to Copy Files build phase
  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);

  24. 构建并运行。

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

答案 1 :(得分:4)

  1. 在Xcode 4中打开您的项目
  2. 确保显示 Project Navigator
  3. 按住Ctrl键单击项目文件(蓝页图标)
  4. 选择将文件添加到“YourProjectName”
  5. 选择ParseKit.xcodeproj
  6. Project Navigator 中选择您的项目文件
  7. 转到构建阶段
  8. 披露链接二进制文件库,然后点击 + 添加ParseKit.framework或从 Project Navigator 拖放它ParseKit.framework的产品目录
  9. 点击右下角添加构建阶段按钮,添加复制文件阶段。
  10. 将目的地设置为框架
  11. 重复8,但是对于新的构建阶段
  12. 您可能还需要添加目标依赖关系:重复步骤8,但是对于此阶段。但看起来Xcode可以自己解决它们。

    我还建议您创建一个Workspace,这样可以更轻松地管理子项目,看起来这样可以解决大部分潜在问题,因为如果Xcode无法解析依赖关系,您可以随时添加脚本来复制文件手动,因为项目的产品将共享相同的构建目录。

答案 2 :(得分:4)

我设法用cocoapods做到了这一点。如果你卡住了,那试试吧

答案 3 :(得分:2)

ParseKit的开发人员。

对不起,我没有给你一个好的答案。我使用Xcode 3在how to use ParseKit in your iOS application上有一些过时的文档。

但是,我刚刚尝试使用Xcode 4在Mac OS X应用程序中嵌入ParseKit.framework的过程,老实说我无法弄清楚如何在Xcode 4中执行它。我很困惑。< / p>

我可以说,在Mac应用中嵌入ParseKit.framework与在Mac应用中嵌入任何其他框架不应该有很大不同。在这方面,ParseKit并没有什么特别的或不寻常的。问题是我无法弄清楚如何在Xcode 4中完成

以下是Apple关于如何执行此操作的文档:

Embedding a Private Framework in Your Application Bundle > Using Separate Xcode Projects For Each Target

不幸的是,Apple的文档也已过时,并且还描述了Xcode 3中的过程。

我已经要求a question here on Stack Overflow尝试解决此问题。