将第三方库ZXing导入Xcode

我已经尝试了很多方法来将第三方库'ZXing'导入到我的iOS应用程序中,但都是痛苦的,或者根本不起作用。 如果有人可以build议我做错了什么,或者更好的方法来导入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 (最新版本)

复制项目到/项目(在SVN回购)。

打开MyGreatApp工作区,“添加文件” – >select“ZXingObjC.xcodeproj”。

将已编译的库(libZXingObjC-iOS.a)添加到MyGreatApp构build阶段,从ZXing产品中拖放。 添加ZXing所需的框架。

在标题searchpath和库searchpath中添加ZXing的path。 “$(PROJECT_DIR)/../../ Projects / ZXingObjC-2.2.6 / ZXingObjC”。 使用$(PROJECT_DIR),所以path是相对的,可以在所有的构build机器上运行。

改变ZXing生成设置不使用arm64体系结构,因为我们目前不支持它由于旧的restKit库。

为了构build其他configuration,我唯一find的解决scheme是在ZXing项目中添加一个完全相同名称的configuration,即添加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相同的目录中创buildPodfile,但这会导致编译器错误,并且“pod install”命令在与我的项目相同的文件夹中创build了一个新的xcworkspace文件(我们已经在其他地方有一个文件夹)

尝试在与MyGreatApp.xcworkspace相同的目录中创build一个Podfile,但这导致pod安装命令无效

结果:

无法安装使用CocoaPods。

不能使用


任何关于如何将ZXing添加到我的项目中的帮助或build议都是非常有帮助的。

如果您想将第三方API添加到您的项目,那么只需按照以下步骤操作:

  • 首先将第三方库复制到您的项目中。
  • 然后进入TARGETS – > Build Phases – >与库链接二进制文件。
  • 点击+符号。
  • 添加其他&从您放置它的项目中select。

这是将任何第三方API添加到项目的最佳方法。

希望这会帮助大家。

长话短说。 我开始使用Alcatraz (Xcode的包pipe理器),它有一个名为KFCocoaPodsPlugin的漂亮的插件。 它使您可以轻松地处理椰子树,因为现在看来你用椰子树做了错误的事。 它将为您设置工作区,并创buildpodfile模板。

我强烈build议使用这两个工具:Cocoapods +恶魔岛。 它使生活变得如此简单。

PS请确保你在podfile的开头添加这个:

 platform :ios, '7.0'