我知道这是一个非常简单的问题,但我一直在努力解决它。我已经阅读了几个主题,但似乎仍然可以找到答案。
我正在尝试将此DDMathParser库添加到现有项目中。数学解析器文档说明
“只需将”DDMathParser“子文件夹复制到您的项目中,#import”DDMathParser.h“,您就可以了。”
我将子文件夹添加到我的项目中,并将标题“#import”DDMathParser.h'添加到我的第一个视图控制器中。首先,Xcode声明它无法找到该文件。我接受了另一个线程的建议更改了我的标题以包含文件夹
#import "DDMathParser/DDMathParser.h"
Xcode似乎找到了文件夹和头文件,但是当我从文档中运行测试时,例如
NSLog(@"%@", [@"1 + 2" numberByEvaluatingString]);
我收到错误'Thread 1:Program received sginal:“SIGABRT”'我可以在DDMathParser示例文件中看到有一个目标,我想知道这是否是我的问题。
澄清我试图将DDMathParser库添加到简单视图控制器并运行staement NSLog(@"%@", [@"1 + 2" numberByEvaluatingString]);
的问题
任何帮助/澄清这样做将不胜感激。
答案 0 :(得分:12)
首先,请不要通过子文件夹副本将DDMathParser代码添加到项目中。这样做会使得轻松获取代码的任何未来更新变得很痛苦,并且通常不是在项目中包含外部代码的非常好的方法。
相反,您应该将git repo添加为项目的子模块(您正在使用git,对吗?)并将相关文件导入项目。这是一个循序渐进的解决方案:
git submodule add https://github.com/davedelong/DDMathParser.git External/DDMathParser
。这将为项目根目录创建一个名为External的新子目录,在External中将复制DDMathParser项目。<Your Root Project Dir>/External/DDMathParser/DDMathParser
目录中找到。请务必选中“添加到目标”复选框,然后选择不以选中“复制项目”复选框。#import "DDMathParser.h"
添加到您的viewcontroller。 DDMathParser现在可以按预期工作了。如果作者对代码进行了更新,您只需从终端发出以下命令即可从github获取最新更新:git submodule update
。
注意:我从头开始创建了一个新项目,按照这些步骤并包含了您的NSLog()
示例,以确保没有任何问题。
答案 1 :(得分:0)
我也遵循了这些步骤,直到我能够使它工作。建议的方法有一些缺陷。
正如我之前的那个人所拥有的那样---你只带来了它的来源 DDMathParser,并将它们编译为目标的一部分。这种结合 您可以使用相同的构建设置,SDK版本和部署 system-version作为DDMathParser的作者。示例:
我不知道如果我将我的父回购推送到服务器会发生什么,而另一位朋友将其拉出来。他会自动收到DDMathParser仓库吗?怎么样?他必须能够访问它!该计划对我来说似乎并不完整。
我建议帮助作者将他的DDMathParser打包为框架,然后你就可以将DDMAthParser的PROJECT FILE导入你的项目 - 而不是源代码,只需链接到DDMathParser项目的产品(私人框架)。看起来好多了。框架可以使用作者的设置进行编译,我们只收到包装精美的二进制文件。