2017-05-29 38 views
1

背景
虽然工作this answer我注意到,它不是那么琐碎,在Xcode中正确设置Quick test framework正常。在我的情况下,它花了3-4次失败的尝试终于有一个工作版本。而且,我还不确定我以前的尝试错在哪里。或者更重要的是为什么该线程中的提问者每次都可能有重复运行。然后,他花了几次尝试终于有一个工作。如何在Xcode 8上可靠地安装和设置快速测试框架?

问题
我问,如果您有任何的一个可靠的方法来建立快速框架上使用Xcode的可可豆荚(或迦太基或Git的子模块),最高运行正常工作的快速测试情况下,你愿意分享。

我怎么做的前:
这里是我创造了我的工作Quick framework on Xcode
1.我按照XCTest article in RayWenderlich site步骤设置XCTest环境。
2.然后我加入可可豆荚按installing Quick
3.然后按照Setting up your Xcode
4.然后指示我砍死和即兴的方式,所有的休息,google搜索我以后遇到的每一个问题,试试这个,直到它工作。
(其中包括添加快速框架以链接目标的构建阶段中的二进制文件)

我不自豪地分享我的上述步骤,但现在我没有更好的方法。我希望通过问这个问题找到更好的方法。要问的话可能太多了。

我Podfile:

target 'PlayQuick' do 
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks 
use_frameworks! 

# Pods for PlayQuick 

target 'PlayQuickTests' do 
    inherit! :search_paths 
    # Pods for testing 
    pod 'Quick' 
    pod 'Nimble' 
end 

end 
+0

它应该沿着学习的榜样,而不在Xcode中手动设置的步骤,你可以分享你Podfile吗? –

+0

我已经使用Podfile的内容更新了我的问题。 – Wismin

+0

添加;我遇到了2个类似但又不同的问题。第一个是已知的;为什么这些示例会被多次调用(在这里描述:https://stackoverflow.com/questions/44044433/why-are-the-before-and-aftereach-blocks-called-multiple-times-in-unit-testing-w )。第二个问题是Xcode偶尔无法找到框架。尽管可以通过先构建框架来解决这个问题,然后您的项目;偶尔这种方法会失败,我不知道为什么。 –

回答

1

Git submodule way是实现这一目标的最简便和最简单的方法。

按照以下步骤从零做起:

表1.A使用Include Unit Tests检查创建Xcode项目。

1.b.或者,您可以在现有项目上使用create unit test target

  • 打开测试导航器。
  • 单击左下角的+按钮,然后从菜单中选择新的单元测试目标...:


2.关闭(1)

3 Xcode项目。创建新的Xcode工作区。文件 - >新建 - >工作区。

4.打开终端/ bash shell的/的Cmd.exe

5.创建GitHubProjectClones一个新的子目录。

  • 例如:$ HOME /开发商/ GitHubProjectClones


6. cd到(5)中的子目录:

  • MKDIR卖方
  • GIT中的init


7.按照步骤oneGit Submodule section

  • git的子模块添加[email protected]:快速/ Quick.git供应商/快速
  • git的子模块添加[email protected]om:快速/ Nimble.git卖方/敏捷
  • git的子模块更新--init --recursive


8.后续步骤twoGit Submodule section

  • 回到Xcode中与工作区打开:
    • 确保项目导航选择
      • 文件 - >文件添加到:
        • 选择在步骤7中创建的快捷文件夹。
      • 文件 - >文件添加到:
        • 选择在步骤7创建
      • 文件灵活的文件夹 - >文件添加到:
        • 在步骤1中选择您的Xcode项目。


9.按照步骤threeGit Submodule section在你的测试目标的Link Binary with Library构建阶段链接Quick.frameworkNimble.framework

10.你应该能够在Quick Documentation

+0

这应该更加精简将库与cocoapods集成在一起比错误安全?我不这么认为,对不起。涉及太多手动操作。没有版本管理。没有自动项目集成... –

1

集成快速&灵动通过的CocoaPods为我工作了,没有任何问题(MacOS的塞拉利昂,Xcode8.3.2,iOS的10.3 SDK,雨燕3.1的箱子,1.2的CocoaPods。 1)。

一定要安装最新的稳定cocoapods版本(gem update cocoapods)并致电pod install而不只是pod update。您也可以尝试通过致电pod deintegrate && pod install重新整合您的吊舱。

也许在您的项目中有一个奇怪的构建设置或类似的东西。你可以用一个处女测试项目来验证它。

如果什么都不起作用,您应该上传您的项目(例如GitHub),以便社区能够找出问题所在。

+0

我已经上传失败的尝试安装使用Cocoapods快速方式在:https://github.com/Shisui-U/TryQuickCocoaPodsWay1步骤类似于Mikasa详细步骤,除了第5-9步,其中我使用豆荚命令你上面提到。宝石更新cocoapods; pod init; vi Podfile;安装pod,然后在Xcode中打开xcworkspace。错误消息是未找到快速模块。 – Wismin

+0

谢谢酒酒。我正在休假,现在无法检查项目。 Xcode应该找到快速框架,如果你只是建立一次(CMD + B)的pod /项目。最初的发现问题与索引器/编译器前端解析器的奇怪行为有关 –

+0

享受您的假期,Sven。当你回来时,你可以检查项目。我试过产品 - >清洁(Shfit-CMD-K),然后产品 - >生成(CMD + B),我得到这个错误:'铿锵:错误:链接器命令失败,退出代码1(使用-v看到调用)' – Wismin