2017-05-29 11 views
1

背景:
this answerに取り組んでいるうちに、Quick test frameworkを正しくXcodeに正しく設定するのはそれほど簡単ではないことに気付きました。私の場合は、最終的に動作するバージョンを3〜4回失敗しました。そして、私の以前の試みが間違っていたかどうかはわかりません。さらに重要なのは、そのスレッドの質問者が毎回重複して実行される理由です。その後、彼は最終的に働くことをいくつか試みました。Xcode 8にクイックテストフレームワークを確実にインストールしてセットアップするには?

質問
あなたがたのうち、Xcodeのココアポッドを使用して、クイック枠組みを設定するための信頼できる方法があれば、私は(またはカルタゴやGitのサブモジュール)、正常に動作し、クイックテストケースを実行するまで、その求めていますあなたは分かち合うつもりです。

私は前にそれをやった方法

:私はXCTest環境をセットアップするXCTest article in RayWenderlich siteのステップに従ってください
1:
ここでは、私は私の作業Quick framework on Xcodeを作成する方法です。
2.それから私はその後、私はハッキングと私はそれの後に発生した各問題のためにグーグルで、道のすべての残りを即興で、これを試して次にSetting up your Xcode
4に指示に従ってくださいinstalling Quick
3通りココアポッドを追加し、それが動作するまで。
(これらのステップには、ターゲットのビルドフェーズでバイナリをリンクするクイックフレームワークを追加することが含まれます)

私は上記の手順を共有することは誇りではありませんが、今はもっと良い方法はありません。私はこの質問をしてより良い方法を見つけることを望みます。尋ねるのはあまりにも多いかもしれません。

マイPodfile:cocoapods経由で軽快なクイック&を統合

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

で例に沿って従うことができるでしょうか? –

+0

上記の質問をPodfileの内容で更新しました。 – Wismin

+0

追加するには、私は2つの同様の、しかし異なる問題に遭遇しました。最初はすでに知られています。なぜ例が複数回呼び出されるのですか(ここで説明します:https://stackoverflow.com/questions/44044433/why-are-the-before-and-aftereach-blocks-called-multiple-times-in-unit-testing-w )。第2の問題は、Xcodeがフレームワークを見つけることができないことがあることです。これは最初にフレームワークを構築し、次にプロジェクトを構築することで解決できますが、時折、この方法は失敗し、私は理由を知りません。 –

答えて

1

Git submodule wayは、これを達成するための最もリーンでシンプルな方法です。

は、ゼロからスタートして、次の手順に従います。

1.A. Include Unit TestsでXcodeプロジェクトを作成します。

1.b。また、既存のプロジェクトでcreate unit test targetを実行することもできます。

  • テストナビを開きます。
  • メニューから[新しいユニットテストターゲットを選択し、左下隅にある+ボタンをクリックしてください:


2.(1)

3にXcodeプロジェクトを閉じます新しいXcodeワークスペースを作成します。ファイル - >新規 - >ワークスペース。

4.オープンターミナル/ bashのシェル/ Cmd.exeの

5. GitHubProjectClonesのための新しいサブディレクトリを作成します。

  • 例えば:

    • ます。mkdirベンダー
    • のgit initを
    • :$ HOME /開発/ GitHubProjectClones


    6. CD(5)内のサブディレクトリに


7.フォローステップone

    • Git Submodule sectionでgitのサブモジュールは、 [email protected]を追加:クイック/ Nimble.gitベンダー:クイック/ Quick.gitベンダー/クイック
    • gitのサブモジュールは、[email protected]を追加します/軽快
    • gitのサブモジュールの更新--init --recursive


    8フォロー工程Git Submodule sectiontwo

    • 戻るXcodeのに開いてワークスペースを持つ:
      • は必ずProject Navigatorで
        • ファイル選択されていることを確認 - >にファイルを追加します。手順7で作成したクイックフォルダを選択
        • ファイル - >ファイルを追加:ステップ1でのXcodeプロジェクトを選択し
          • :>にファイルを追加 -
            • は、ステップ7
          • ファイルで作成した軽快なフォルダを選択します。


        9.テスト対象のLink Binary with Libraryビルドフェーズの間にQuick.frameworkNimble.frameworkをリンクするGit Submodule sectionでフォローステップthree



  • 10.あなたはそれがあなたのPodfileをしてください共有することができ、Xcodeでの手動セットアップ手順なしで動作するはず Quick Documentation

    +0

    これは、 libsとcocoapodsを統合するよりもエラーが安全ですか?私はそうは思わない、申し訳ありません。あまりにも多くの手動操作が関与しています。バージョン管理はありません。自動プロジェクト統合はありません... –

    1

    は問題なし(MacOSのシエラ、Xcode8.3.2、iOSの10.3 SDK、スウィフト3.1で箱から出して私の作品、1.2をcocoapods。 1)。

    最新の安定したcocoapodsのバージョン(gem update cocoapods)をインストールし、pod updateだけでなく、pod installを呼び出してください。 pod deintegrate && pod installを呼び出すことによって、ポッドをゼロから再統合することもできます。

    プロジェクトに奇妙なビルド設定などがある可能性があります。これをバージンテストプロジェクトで検証することができます。

    何も問題ない場合は、プロジェクトを(GitHubなどに)アップロードして、コミュニティが問題を特定できるようにしてください。

    +0

    https://github.com/Shisui-U/TryQuickCocoaPodsWay1でCocoapodsを使用してQuickをインストールしようとして失敗したアップロードをアップロードしました。手順は、5-9の手順を除いて、Mikasaの手順と同様です。上記のpodコマンドを使用します。 gem update cocoapods;ポッドinit; vi Podfile; podをインストールして、Xcodeのxcworkspaceを開きます。エラーメッセージはQuick module not foundです。 – Wismin

    +0

    ありがとうございます。私は休暇中で、今すぐプロジェクトをチェックすることはできません。ポッド/プロジェクトを一度だけ作成する場合(CMD + B)は、Xcodeでクイックフレームワークが見つかります。最初の発見問題はインデクサ/コンパイラフロントエンドパーサーの奇妙な動作に関連しています –

    +0

    あなたの休暇、Svenをお楽しみください。あなたが帰ったら、プロジェクトをチェックすることができます。私は、製品 - >ビルド(CMD + B)をして、製品 - >クリーン(Shfit-CMD-K)を試したが、このエラーが出た: 'clang:error:リンカーコマンドが終了コード1で失敗した) – Wismin

    関連する問題