我尝试过多种方式导入第三方图书馆' ZXing'进入我的iOS应用程序,但一切都很痛苦或根本没有工作。如果有人能够建议我做错了什么,或者更好的方式来导入像ZXing这样的库,我会非常感激。
它必须比这更容易!!!
这就是我所做的,结果是:
MyGreatApp的目录结构(撰写时)
/MyGreatApp/MyGreatApp.xcworkspace (main workspace that compiles the
application)
/MyGreatApp/Projects/MyGreatApp/MyGreatApp.xcodeproj
/MyGreatApp/Projects/MyGreatApp/(All source code for MyGreatApp)
/MyGreatApp/Projects/other-inhouse-project/other-inhouse-project/other-inhouse-project.xcodeproj
/MyGreatApp/Projects/other-inhouse-project/other-inhouse-project/(Source
code for other-inhouse-project)
/MyGreatApp/Projects/other-inhouse-project/RestKit/RestKit.xcodeproj
/MyGreatApp/Projects/other-inhouse-project/RestKit/(source code for
restKit)
将ZXing项目添加到工作区:
从git hub下载项目:https://github.com/TheLevelUp/ZXingObjC(最新版本)
将项目复制到/ Projects(在svn repo中)。
打开MyGreatApp工作区,'添加文件' - >选择' ZXingObjC.xcodeproj'。
将编译库(libZXingObjC-iOS.a)添加到从ZXing产品中拖放的MyGreatApp构建阶段。 添加ZXing所需的框架。
在标题搜索路径和库搜索路径中添加ZXing路径。 " $(PROJECT_DIR)/../../项目/ ZXingObjC-2.2.6 / ZXingObjC" 。使用$(PROJECT_DIR),因此路径是相对的,适用于所有构建机器。
将ZXing构建设置更改为不使用arm64架构,因为我们目前不支持它,因为旧的restKit库。
为了构建其他配置,我发现的唯一解决方案是向ZXing项目添加一个名称完全相同的配置,即添加QA(PAT12),QA(PAT14)等等(这不太理想)
结果:
项目编译并且工作正常,但上述步骤非常耗时。
编译ZXing不会产生错误警告。
可以使用
将ZXing文件添加到MyGreatApp项目(使用项目编译的文件):
从git hub下载项目:https://github.com/TheLevelUp/ZXingObjC(最新版本)
将ZXingObjC文件夹拖到Xcode上。确保"复制项目"在点击"添加"。
之前检查添加ZXing所需的框架。
不得不更改ZXing源代码行以允许它编译(不确定结果可能是什么,这里的一些信息:https://github.com/TheLevelUp/ZXingObjC/issues/118)
@property (nonatomic, strong) /*__attribute__((NSObject))*/ dispatch_queue_t captureQueue;
结果:
项目编译和'似乎'运行良好(但是对于攻击ZXing源代码感到紧张)
编译会产生大约180个错误警告。
不能使用
使用CocoaPods添加ZXing项目:
在CocoaPods网站上按照说明进行安装。
尝试在与MyGreatApp.xcproject相同的目录中创建Podfile,但这导致编译器错误,并且“安装”'命令在与我的项目相同的文件夹中创建了一个新的xcworkspace文件(我们已在其他地方有一个)
尝试在与MyGreatApp.xcworkspace相同的目录中创建Podfile,但这导致pod install命令无法正常工作
结果:
无法使用CocoaPods安装。
不能使用
关于如何将ZXing添加到我的项目的好方法的任何帮助或建议将非常有帮助。
答案 0 :(得分:2)
如果您想在项目中添加第三方API,请按以下步骤操作:
+
符号。这是向项目添加任何第三方API的最佳方法。
希望这会对每个人有所帮助。
答案 1 :(得分:0)
长话短说。我开始使用Alcatraz(Xcode的包管理器),它有一个很好的插件叫做KFCocoaPodsPlugin。它使您能够轻松处理cocoapods,因为现在看起来您使用cocoapods做错了。它将为您设置工作区,并创建podfile模板。
我强烈建议使用这两种工具:Cocoapods + Alcatraz。它让生活变得如此简单。
P.S。确保在podfile的开头添加:
platform :ios, '7.0'